Mercurial > dropbear
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 } |