mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
r3817: Fix from Lars Müller <lmuelle@suse.de> for bug #2050, calculate
max_fd for select correctly.
Jeremy.
(This used to be commit eb0b1f757d
)
This commit is contained in:
parent
7eaba1f528
commit
d12a7fdee2
@ -186,6 +186,7 @@ static BOOL open_sockets_smbd(BOOL is_daemon, BOOL interactive, const char *smb_
|
||||
int fd_listenset[FD_SETSIZE];
|
||||
fd_set listen_set;
|
||||
int s;
|
||||
int max_fd = 0;
|
||||
int i;
|
||||
char *ports;
|
||||
|
||||
@ -241,11 +242,16 @@ static BOOL open_sockets_smbd(BOOL is_daemon, BOOL interactive, const char *smb_
|
||||
|
||||
for (ptr=ports; next_token(&ptr, tok, NULL, sizeof(tok)); ) {
|
||||
unsigned port = atoi(tok);
|
||||
if (port == 0) continue;
|
||||
if (port == 0) {
|
||||
continue;
|
||||
}
|
||||
s = fd_listenset[num_sockets] = open_socket_in(SOCK_STREAM, port, 0, ifip->s_addr, True);
|
||||
if(s == -1)
|
||||
return False;
|
||||
|
||||
if (max_fd < s)
|
||||
max_fd = s;
|
||||
|
||||
/* ready to listen */
|
||||
set_socket_options(s,"SO_KEEPALIVE");
|
||||
set_socket_options(s,user_socket_options);
|
||||
@ -335,7 +341,7 @@ static BOOL open_sockets_smbd(BOOL is_daemon, BOOL interactive, const char *smb_
|
||||
memcpy((char *)&lfds, (char *)&listen_set,
|
||||
sizeof(listen_set));
|
||||
|
||||
num = sys_select(FD_SETSIZE,&lfds,NULL,NULL,NULL);
|
||||
num = sys_select(max_fd+1,&lfds,NULL,NULL,NULL);
|
||||
|
||||
if (num == -1 && errno == EINTR) {
|
||||
if (got_sig_term) {
|
||||
|
Loading…
Reference in New Issue
Block a user