Author: jra
Date: 2006-05-18 01:30:00 +0000 (Thu, 18 May 2006)
New Revision: 15672

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15672

Log:
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.

Modified:
   branches/SAMBA_3_0/source/lib/util_sock.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/util_sock.c
===================================================================
--- branches/SAMBA_3_0/source/lib/util_sock.c   2006-05-18 00:22:14 UTC (rev 
15671)
+++ branches/SAMBA_3_0/source/lib/util_sock.c   2006-05-18 01:30:00 UTC (rev 
15672)
@@ -1003,7 +1003,7 @@
        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;

Reply via email to