static inline void __set_sock_option(int fd, int cli)
{
int size;
+ int flag;
struct timeval tv = { 5, 200 * 1000 }; /* 5.2 sec */
size = AUL_SOCK_MAXBUFF;
setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &size, sizeof(size));
setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &size, sizeof(size));
- if (cli)
+ if (cli) {
setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));
+ flag = fcntl(fd, F_GETFD);
+ flag |= FD_CLOEXEC;
+ fcntl(fd, F_SETFD, flag);
+ }
}
int __create_server_sock(int pid)
pkt = (app_pkt_t *) malloc(sizeof(char) * AUL_SOCK_MAXBUFF);
if (NULL == pkt) {
_E("Malloc Failed!");
+ close(fd);
return -ENOMEM;
}
memset(pkt, 0, AUL_SOCK_MAXBUFF);
pkt = (app_pkt_t *) malloc(sizeof(char) * AUL_SOCK_MAXBUFF);
if (NULL == pkt) {
_E("Malloc Failed!");
+ close(fd);
return -ENOMEM;
}
memset(pkt, 0, AUL_SOCK_MAXBUFF);
pkt = (app_pkt_t *) malloc(sizeof(char) * AUL_SOCK_MAXBUFF);
if (NULL == pkt) {
_E("Malloc Failed!");
+ close(fd);
return -ENOMEM;
}
memset(pkt, 0, AUL_SOCK_MAXBUFF);
pkt = (app_pkt_t *) malloc(sizeof(char) * AUL_SOCK_MAXBUFF);
if (NULL == pkt) {
_E("Malloc Failed!");
+ close(fd);
return NULL;
}
memset(pkt, 0, AUL_SOCK_MAXBUFF);