mirror of
https://github.com/samba-team/samba.git
synced 2025-11-22 16:23:49 +03:00
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 commit is contained in:
committed by
Gerald (Jerry) Carter
parent
31d16c434e
commit
24aaa48677
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user