From 38c34ffd6bcd14314330fd5f2e2a401dbf9cd061 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 25 Oct 2007 14:11:35 -0700 Subject: Ensure we don't terminate if we fail to bind to a socket, only fail if we can't bind to any socket. Jeremy. (This used to be commit 2ec6224b552ef86fa1739c9e396c39c7ec6c76c6) --- source3/smbd/server.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source3') diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 0a292bc616..abad0efc3d 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -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 -- cgit