Make sure the check_close() handler runs when a server child process exits

This commit is contained in:
Matt Johnston
2014-07-28 23:23:49 +08:00
parent 393ca2a290
commit 0e7409c7ff
3 changed files with 10 additions and 0 deletions

View File

@@ -258,6 +258,12 @@ void channelio(fd_set *readfds, fd_set *writefds) {
writechannel(channel, channel->errfd, channel->extrabuf);
do_check_close = 1;
}
if (ses.channel_signal_pending) {
/* SIGCHLD can change channel state for server sessions */
do_check_close = 1;
ses.channel_signal_pending = 0;
}
/* handle any channel closing etc */
if (do_check_close) {