- (djm) fix select hack in serverloop.c from Philippe WILLEM
<Philippe.WILLEM@urssaf.fr>
This commit is contained in:
parent
e95b52e90b
commit
6bd90df490
1
CREDITS
1
CREDITS
|
@ -67,6 +67,7 @@ Pekka Savola <pekkas@netcore.fi> - Bugfixes
|
|||
Peter Kocks <peter.kocks@baygate.com> - Makefile fixes
|
||||
Phil Hands <phil@hands.com> - Debian scripts, assorted patches
|
||||
Phil Karn <karn@ka9q.ampr.org> - Autoconf fixes
|
||||
Philippe WILLEM <Philippe.WILLEM@urssaf.fr> - Bugfixes
|
||||
Phill Camp <P.S.S.Camp@ukc.ac.uk> - login code fix
|
||||
Rip Loomis <loomisg@cist.saic.com> - Solaris package support, fixes
|
||||
SAKAI Kiyotaka <ksakai@kso.netwk.ntt-at.co.jp> - Multiple bugfixes
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
20001028
|
||||
- (djm) fix select hack in serverloop.c from Philippe WILLEM
|
||||
<Philippe.WILLEM@urssaf.fr>
|
||||
|
||||
20001027
|
||||
- (djm) Increase REKEY_BYTES to 2^24 for arc4random
|
||||
|
||||
|
|
|
@ -99,9 +99,10 @@ sigchld_handler(int sig)
|
|||
error("Strange, got SIGCHLD and wait returned pid %d but child is %d",
|
||||
wait_pid, child_pid);
|
||||
if (WIFEXITED(child_wait_status) ||
|
||||
WIFSIGNALED(child_wait_status))
|
||||
WIFSIGNALED(child_wait_status)) {
|
||||
child_terminated = 1;
|
||||
child_has_selected = 0;
|
||||
}
|
||||
}
|
||||
signal(SIGCHLD, sigchld_handler);
|
||||
errno = save_errno;
|
||||
|
@ -112,6 +113,7 @@ sigchld_handler2(int sig)
|
|||
int save_errno = errno;
|
||||
debug("Received SIGCHLD.");
|
||||
child_terminated = 1;
|
||||
child_has_selected = 0;
|
||||
errno = save_errno;
|
||||
}
|
||||
|
||||
|
@ -678,6 +680,7 @@ server_loop2(void)
|
|||
while ((pid = waitpid(-1, &status, WNOHANG)) > 0)
|
||||
session_close_by_pid(pid, status);
|
||||
child_terminated = 0;
|
||||
child_has_selected = 0;
|
||||
signal(SIGCHLD, sigchld_handler2);
|
||||
}
|
||||
channel_after_select(&readset, &writeset);
|
||||
|
|
Loading…
Reference in New Issue