diff options
author | Matt Johnston <matt@ucc.asn.au> | 2015-11-17 20:53:30 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2015-11-17 20:53:30 +0800 |
commit | e0ae527190ab2d7aa6d58cd50abbcde8ef32df8c (patch) | |
tree | 60113f2e90e9b4c65b89aacba86695d27c69fb5b | |
parent | 7fb1bec84ab9386ae8638864b7832d52c3501942 (diff) |
Only clear channel_signal_pending after handling all channels,
from Andrzej Szombierski
-rw-r--r-- | common-channel.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/common-channel.c b/common-channel.c index abe5941..b846f28 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 |