summaryrefslogtreecommitdiff
path: root/source3/smbd
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 /source3/smbd
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)
Diffstat (limited to 'source3/smbd')
-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)));