# HG changeset patch # User rtogni # Date 1170598736 0 # Node ID 50c9dc00154de95f68a89ee0102b2104336faa8c # Parent c9214f2c30c4b7aae9dc950c0ef597bcc89b0be9 Add timeout to tcp connections, avoid hanging forever. Based on patch for bugzilla #673 diff -r c9214f2c30c4 -r 50c9dc00154d stream/tcp.c --- a/stream/tcp.c Sun Feb 04 14:02:35 2007 +0000 +++ b/stream/tcp.c Sun Feb 04 14:18:56 2007 +0000 @@ -86,6 +86,13 @@ return TCP_ERROR_FATAL; } +#if defined SO_RCVTIMEO && defined SO_SNDTIMEO + tv.tv_sec = 10; + tv.tv_usec = 0; + setsockopt(socket_server_fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); + setsockopt(socket_server_fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)); +#endif + switch (af) { case AF_INET: our_s_addr = (void *) &server_address.four.sin_addr; break; #ifdef HAVE_AF_INET6