summaryrefslogtreecommitdiff
path: root/source3/nmbd/nmbd.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-05-18 19:49:44 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:17:08 -0500
commit0648638fef56a65f9389c8a98f66c57663e8c401 (patch)
tree236a1c2aeb0fa8fe2d4b3913e62c222c96124130 /source3/nmbd/nmbd.c
parentc60e96c392df858dd22d39d27513486c5c18c3d2 (diff)
downloadsamba-0648638fef56a65f9389c8a98f66c57663e8c401.tar.gz
samba-0648638fef56a65f9389c8a98f66c57663e8c401.tar.bz2
samba-0648638fef56a65f9389c8a98f66c57663e8c401.zip
r15700: Make nmbd udp sockets non-blocking to prevent problem
with select returning true but no data being available. Fix for bug #3779. Jeremy. (This used to be commit e5787cf75b2e7d50f551f34f28d280c27b0aa134)
Diffstat (limited to 'source3/nmbd/nmbd.c')
-rw-r--r--source3/nmbd/nmbd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c
index fca17d1ff7..9c8f99df25 100644
--- a/source3/nmbd/nmbd.c
+++ b/source3/nmbd/nmbd.c
@@ -605,6 +605,10 @@ static BOOL open_sockets(BOOL isdaemon, int port)
set_socket_options( ClientNMB, "SO_BROADCAST" );
set_socket_options( ClientDGRAM, "SO_BROADCAST" );
+ /* Ensure we're non-blocking. */
+ set_blocking( ClientNMB, False);
+ set_blocking( ClientDGRAM, False);
+
DEBUG( 3, ( "open_sockets: Broadcast sockets opened.\n" ) );
return( True );
}