#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
+#include <netinet/tcp.h>
#ifndef __USE_MISC
#define __USE_MISC /* inet_aton */
if(events & POLLIN) {
trustsocket *sock;
char buf[NONCELEN * 2 + 1];
+ int optval;
int newfd = accept(fd, NULL, NULL), flags;
if(newfd == -1)
return;
}
+ optval = 1;
+ setsockopt(newfd, SOL_SOCKET, SO_KEEPALIVE, &optval, sizeof(optval));
+ optval = 10;
+ setsockopt(newfd, IPPROTO_TCP, TCP_KEEPIDLE, &optval, sizeof(optval));
+ optval = 3;
+ setsockopt(newfd, IPPROTO_TCP, TCP_KEEPCNT, &optval, sizeof(optval));
+ optval = 10;
+ setsockopt(newfd, IPPROTO_TCP, TCP_KEEPINTVL, &optval, sizeof(optval));
+
registerhandler(newfd, POLLIN|POLLERR|POLLHUP, processtrustclient);
sock = nsmalloc(POOL_TRUSTS, sizeof(trustsocket));