Only clear channel_signal_pending after handling all channels,

from Andrzej Szombierski
This commit is contained in:
Matt Johnston 2015-11-17 20:53:30 +08:00
parent 7fb1bec84a
commit e0ae527190

View File

@ -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