# HG changeset patch # User Matt Johnston # Date 1447764810 -28800 # Node ID a96cf3627a582089274b17e6df27c44a020360a5 # Parent 8b6cba29876807adf94ac1e8e7586f69ab7c3e0b Only clear channel_signal_pending after handling all channels, from Andrzej Szombierski diff -r 8b6cba298768 -r a96cf3627a58 common-channel.c --- a/common-channel.c Fri Nov 06 23:54:24 2015 +0800 +++ b/common-channel.c Tue Nov 17 20:53:30 2015 +0800 @@ -256,7 +256,6 @@ 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 @@ } } + ses.channel_signal_pending = 0; + #ifdef USING_LISTENERS handle_listeners(readfds); #endif