diff --git a/common-channel.c b/common-channel.c index abe59419cdef764d1086df4125fc52f707bf9f6a..b846f2858ce43a2c85fd76cb8c4f32d27f655ed5 100644 --- a/common-channel.c +++ b/common-channel.c @@ -256,7 +256,6 @@ void channelio(fd_set *readfds, fd_set *writefds) { 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 */ @@ -265,6 +264,8 @@ void channelio(fd_set *readfds, fd_set *writefds) { } } + ses.channel_signal_pending = 0; + #ifdef USING_LISTENERS handle_listeners(readfds); #endif