add KEEPALIVE to TCP connections
[spider.git] / src / client.c
index 049d64f6a2fd9d833365b8d6340f3d2ac54cbace..69a8aaebd099eb180452eb601098a2d55462645c 100644 (file)
@@ -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);