diff options
Diffstat (limited to 'common-channel.c')
-rw-r--r-- | common-channel.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common-channel.c b/common-channel.c index 967c937..63a42fb 100644 --- a/common-channel.c +++ b/common-channel.c @@ -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) { |