Ensure we don't terminate if we fail to bind to a socket,
authorJeremy Allison <jra@samba.org>
Thu, 25 Oct 2007 21:11:35 +0000 (14:11 -0700)
committerJeremy Allison <jra@samba.org>
Thu, 25 Oct 2007 21:11:35 +0000 (14:11 -0700)
only fail if we can't bind to any socket.
Jeremy.
(This used to be commit 2ec6224b552ef86fa1739c9e396c39c7ec6c76c6)

source3/smbd/server.c

index 0a292bc6167e82c2dede4830dee426f3584b5d19..abad0efc3dd756cecef8fe2e5327e9a90e31747d 100644 (file)
@@ -435,7 +435,7 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
                                s = open_socket_in(SOCK_STREAM, port, 0,
                                                   &ss, true);
                                if (s == -1) {
-                                       return false;
+                                       continue;
                                }
 
                                /* ready to listen */
@@ -471,6 +471,11 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
 
        SAFE_FREE(ports);
 
+       if (num_sockets == 0) {
+               DEBUG(0,("open_sockets_smbd: No "
+                       "sockets available to bind to.\n"));
+               return false;
+       }
 
        /* Setup the main smbd so that we can get messages. Note that
           do this after starting listening. This is needed as when in