diff options
author | Rod Vagg <rod@vagg.org> | 2013-07-11 18:34:49 +1000 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2013-11-18 17:22:30 +0100 |
commit | 06cc94eecf13e27617a21ea107955752e20e8a59 (patch) | |
tree | d59e6fb4b049cf46291f9db34a5b124c5969fd61 | |
parent | f6443b725a52b40b7ac2b3b8794e949a89218e02 (diff) | |
download | libssh-06cc94eecf13e27617a21ea107955752e20e8a59.tar.gz libssh-06cc94eecf13e27617a21ea107955752e20e8a59.tar.xz libssh-06cc94eecf13e27617a21ea107955752e20e8a59.zip |
flush channel after EOF and CLOSE
-rw-r--r-- | src/channels.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/channels.c b/src/channels.c index f7bcded2..78d9ff75 100644 --- a/src/channels.c +++ b/src/channels.c @@ -1147,6 +1147,10 @@ int ssh_channel_send_eof(ssh_channel channel){ channel->local_channel, channel->remote_channel); + rc = ssh_channel_flush(channel); + if(rc == SSH_ERROR) + goto error; + channel->local_eof = 1; return rc; @@ -1203,6 +1207,10 @@ int ssh_channel_close(ssh_channel channel){ channel->state=SSH_CHANNEL_STATE_CLOSED; } + rc = ssh_channel_flush(channel); + if(rc == SSH_ERROR) + goto error; + return rc; error: buffer_reinit(session->out_buffer); |