comparison common-channel.c @ 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 aaf576b27a10
children b0f351edf370
comparison
equal deleted inserted replaced
1164:8b6cba298768 1165:a96cf3627a58
254 } 254 }
255 255
256 if (ses.channel_signal_pending) { 256 if (ses.channel_signal_pending) {
257 /* SIGCHLD can change channel state for server sessions */ 257 /* SIGCHLD can change channel state for server sessions */
258 do_check_close = 1; 258 do_check_close = 1;
259 ses.channel_signal_pending = 0;
260 } 259 }
261 260
262 /* handle any channel closing etc */ 261 /* handle any channel closing etc */
263 if (do_check_close) { 262 if (do_check_close) {
264 check_close(channel); 263 check_close(channel);
265 } 264 }
266 } 265 }
266
267 ses.channel_signal_pending = 0;
267 268
268 #ifdef USING_LISTENERS 269 #ifdef USING_LISTENERS
269 handle_listeners(readfds); 270 handle_listeners(readfds);
270 #endif 271 #endif
271 } 272 }