diff options
Diffstat (limited to 'libssh/socket.c')
-rw-r--r-- | libssh/socket.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libssh/socket.c b/libssh/socket.c index a80d10c5..6765b36b 100644 --- a/libssh/socket.c +++ b/libssh/socket.c @@ -414,7 +414,7 @@ int ssh_socket_poll(struct socket *s, int *write, int *except){ *except=s->data_except; *write=s->data_to_write; leave_function(); - return s->data_to_read; + return s->data_to_read || (buffer_get_rest_len(s->in_buffer)>0); } #endif @@ -454,7 +454,7 @@ int ssh_socket_poll(struct socket *s, int *write, int *except){ *except=s->data_except; *write=s->data_to_write; leave_function(); - return s->data_to_read; + return s->data_to_read || (buffer_get_rest_len(s->in_buffer)>0); } #endif @@ -491,7 +491,7 @@ int ssh_socket_nonblocking_flush(struct socket *s){ } buffer_pass_bytes(s->out_buffer,w); /* refresh the socket status */ - ssh_fd_poll(session,&can_write,&except); + ssh_socket_poll(session->socket,&can_write,&except); } if(buffer_get_rest_len(s->out_buffer)>0){ leave_function(); |