diff options
author | Jeremy Allison <jra@samba.org> | 2006-05-18 01:30:00 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:17:06 -0500 |
commit | f895fcf1090c0400981587c36d040629b858deec (patch) | |
tree | 0e867071649c122808dabd976de04bc6004f18b4 | |
parent | 6a026d56185f56dc9bf5ae8e5c1d33a0ce32562b (diff) | |
download | samba-f895fcf1090c0400981587c36d040629b858deec.tar.gz samba-f895fcf1090c0400981587c36d040629b858deec.tar.bz2 samba-f895fcf1090c0400981587c36d040629b858deec.zip |
r15672: Fix for bug #3783. winbindd_cm.c calls open_any_socket_out()
to make connections to ports 445 or 139 on the DC it's trying
to contact. It calls sys_select() on the non-blocking sockets,
not sys_select_intr(). This is a mistake (I believe) as it allows
a signal to early terminate the connection attempts - whereas
sys_select_intr() will ignore signals until we get back to
the main processing loop where they'll be handled correctly.
This change means winbindd_cm will not early terminate if it
gets a message whilst trying to connect to DC's.
Gunther, Volker and Jerry please review (but I think this
is correct).
Jeremy.
(This used to be commit 24aaa486771f797d35ea6b0711c12cd3e663dd8c)
-rw-r--r-- | source3/lib/util_sock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c index 12fc2ead95..de90b29294 100644 --- a/source3/lib/util_sock.c +++ b/source3/lib/util_sock.c @@ -1003,7 +1003,7 @@ BOOL open_any_socket_out(struct sockaddr_in *addrs, int num_addrs, tv.tv_sec = 0; tv.tv_usec = connect_loop; - res = sys_select(maxfd+1, &r_fds, &wr_fds, NULL, &tv); + res = sys_select_intr(maxfd+1, &r_fds, &wr_fds, NULL, &tv); if (res < 0) goto done; |