X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Fclient.c;h=69a8aaebd099eb180452eb601098a2d55462645c;hb=b5b494bfe442d798ed1d9a05fc2c4f9e31f4aa11;hp=049d64f6a2fd9d833365b8d6340f3d2ac54cbace;hpb=c9b73a6f1b6aa8c0496a6a7afd1542806ac1a577;p=spider.git diff --git a/src/client.c b/src/client.c index 049d64f6..69a8aaeb 100644 --- a/src/client.c +++ b/src/client.c @@ -825,6 +825,7 @@ void connect_to_node() struct hostent *hp, *gethostbyname(); struct sockaddr_in server; int nodef; + int one = 1; sel_t *sp; struct linger lg; @@ -848,6 +849,9 @@ void connect_to_node() if (setsockopt(nodef, SOL_SOCKET, SO_LINGER, &lg, sizeof lg) < 0) { die("Error on SO_LINGER to %s port %d (%d)", node_addr, node_port, errno); } + if (setsockopt(nodef, SOL_SOCKET, SO_KEEPALIVE, &one, sizeof one) < 0) { + die("Error on SO_KEEPALIVE to %s port %d (%d)", node_addr, node_port, errno); + } node = fcb_new(nodef, MSG); node->sp = sel_open(nodef, node, "Msg System", fcb_handler, MSG, SEL_INPUT);