summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2001-08-09 12:52:05 +0000
committerAndrew Bartlett <abartlet@samba.org>2001-08-09 12:52:05 +0000
commit3dbd870d37e66e2a63ecd671a6fd6f96753027b6 (patch)
treeb127a12f78f425afe03b35a0748cbd9967213e34
parentd41606d6d9f957057727aee06953dfad13c3ca8d (diff)
downloadsamba-3dbd870d37e66e2a63ecd671a6fd6f96753027b6.tar.gz
samba-3dbd870d37e66e2a63ecd671a6fd6f96753027b6.tar.bz2
samba-3dbd870d37e66e2a63ecd671a6fd6f96753027b6.zip
Try to set the socket options early for some OSs (like Sol 8) where they
can't be set after the listen(). Andrew Bartlett (This used to be commit 23b6772a2454ff3b480807a4ca8f58e8a0dc0c81)
-rw-r--r--source3/smbd/server.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 6e9b9a4828..13071a5b65 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -158,7 +158,11 @@ max can be %d\n",
s = fd_listenset[i] = open_socket_in(SOCK_STREAM, port, 0, ifip->s_addr, True);
if(s == -1)
return False;
- /* ready to listen */
+
+ /* ready to listen */
+ set_socket_options(s,"SO_KEEPALIVE");
+ set_socket_options(s,user_socket_options);
+
if (listen(s, 5) == -1) {
DEBUG(0,("listen: %s\n",strerror(errno)));
close(s);
@@ -178,6 +182,9 @@ max can be %d\n",
return(False);
/* ready to listen */
+ set_socket_options(s,"SO_KEEPALIVE");
+ set_socket_options(s,user_socket_options);
+
if (listen(s, 5) == -1) {
DEBUG(0,("open_sockets: listen: %s\n",
strerror(errno)));