aboutsummaryrefslogtreecommitdiff
path: root/src/channels1.c
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2011-09-14 22:39:05 +0200
committerAris Adamantiadis <aris@0xbadc0de.be>2011-09-14 22:39:05 +0200
commitc4701a34d3bad592dde260673f7a0654079cc2b8 (patch)
treef03df36bb48442c62256dc4f71edd13d9997a587 /src/channels1.c
parent36ec488663e280deed50103534d71b698f3023c6 (diff)
downloadlibssh-c4701a34d3bad592dde260673f7a0654079cc2b8.tar.gz
libssh-c4701a34d3bad592dde260673f7a0654079cc2b8.tar.xz
libssh-c4701a34d3bad592dde260673f7a0654079cc2b8.zip
channels1: made channel_write1 nonblocking
Diffstat (limited to 'src/channels1.c')
-rw-r--r--src/channels1.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/channels1.c b/src/channels1.c
index dc48f30d..f13d6334 100644
--- a/src/channels1.c
+++ b/src/channels1.c
@@ -291,8 +291,10 @@ int channel_write1(ssh_channel channel, const void *data, int len) {
if (packet_send(session) == SSH_ERROR) {
return -1;
}
+ ssh_handle_packets(session, SSH_TIMEOUT_NONBLOCKING);
}
-
+ if (ssh_blocking_flush(session,SSH_TIMEOUT_USER) == SSH_ERROR)
+ return -1;
return origlen;
}