Author: jra Date: 2006-05-18 01:30:03 +0000 (Thu, 18 May 2006) New Revision: 15673
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15673 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: trunk/source/lib/util_sock.c Changeset: Modified: trunk/source/lib/util_sock.c =================================================================== --- trunk/source/lib/util_sock.c 2006-05-18 01:30:00 UTC (rev 15672) +++ trunk/source/lib/util_sock.c 2006-05-18 01:30:03 UTC (rev 15673) @@ -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;