changeset 1165:a96cf3627a58

Only clear channel_signal_pending after handling all channels, from Andrzej Szombierski
author Matt Johnston <matt@ucc.asn.au>
date Tue, 17 Nov 2015 20:53:30 +0800
parents 8b6cba298768
children b0f351edf370
files common-channel.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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