summaryrefslogtreecommitdiffhomepage
path: root/svr-chansession.c
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2014-07-28 23:23:49 +0800
committerMatt Johnston <matt@ucc.asn.au>2014-07-28 23:23:49 +0800
commit0e7409c7ff6fc760018fce3d5e8b72247bf782b5 (patch)
tree766b9e2aa6a48f35eaafe0127bb344af66b95462 /svr-chansession.c
parent393ca2a290b70c715cd432309304771e075e2418 (diff)
Make sure the check_close() handler runs when a server child process exits
Diffstat (limited to 'svr-chansession.c')
-rw-r--r--svr-chansession.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/svr-chansession.c b/svr-chansession.c
index 4b45294..2a99362 100644
--- a/svr-chansession.c
+++ b/svr-chansession.c
@@ -89,6 +89,9 @@ static void sesssigchild_handler(int UNUSED(dummy)) {
const int saved_errno = errno;
+ /* Make channel handling code look for closed channels */
+ ses.channel_signal_pending = 1;
+
TRACE(("enter sigchld handler"))
while ((pid = waitpid(-1, &status, WNOHANG)) > 0) {
TRACE(("sigchld handler: pid %d", pid))