diff options
author | Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> | 2014-01-22 21:06:13 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2014-02-02 22:21:07 +0100 |
commit | 5157d96958773bbaec0d52866d076f14d97d3b9e (patch) | |
tree | ffc19b572daf4fc5299058ed2509bcf2f6f762fc | |
parent | 6a0787a366ea598dff6ae09172b28522456a8606 (diff) | |
download | libssh-5157d96958773bbaec0d52866d076f14d97d3b9e.tar.gz libssh-5157d96958773bbaec0d52866d076f14d97d3b9e.tar.xz libssh-5157d96958773bbaec0d52866d076f14d97d3b9e.zip |
Make function ssh_channel_accept() nonblocking if timeout is 0.
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
-rw-r--r-- | src/channels.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/channels.c b/src/channels.c index b77ad0ac..9327616d 100644 --- a/src/channels.c +++ b/src/channels.c @@ -1997,7 +1997,11 @@ static ssh_channel ssh_channel_accept(ssh_session session, int channeltype, * 50 ms. So we need to decrement by 100 ms. */ for (t = timeout_ms; t >= 0; t -= 100) { - ssh_handle_packets(session, 50); + if (timeout_ms == 0) { + ssh_handle_packets(session, 0); + } else { + ssh_handle_packets(session, 50); + } if (session->ssh_message_list) { iterator = ssh_list_get_iterator(session->ssh_message_list); |