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