diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2011-04-15 19:14:15 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2011-04-15 19:17:40 +0200 |
commit | fc9c61714f4fc509320843bd0edd1cddbdd6943d (patch) | |
tree | db624920b74ad7e5f5c36b0064a22f5d1e7a193e | |
parent | e096658df3b7b6a83a720babe2cdaee9b7329856 (diff) | |
download | libssh-fc9c61714f4fc509320843bd0edd1cddbdd6943d.tar.gz libssh-fc9c61714f4fc509320843bd0edd1cddbdd6943d.tar.xz libssh-fc9c61714f4fc509320843bd0edd1cddbdd6943d.zip |
poll: Fix poll input events.
bug#38
-rw-r--r-- | src/poll.c | 3 | ||||
-rw-r--r-- | src/session.c | 2 | ||||
-rw-r--r-- | src/socket.c | 2 |
3 files changed, 4 insertions, 3 deletions
@@ -298,8 +298,9 @@ int ssh_poll(ssh_pollfd_t *fds, nfds_t nfds, int timeout) { * * @param fd Socket that will be polled. * @param events Poll events that will be monitored for the socket. i.e. - * POLLIN, POLLPRI, POLLOUT, POLLERR, POLLHUP, POLLNVAL + * POLLIN, POLLPRI, POLLOUT * @param cb Function to be called if any of the events are set. + * * @param userdata Userdata to be passed to the callback function. NULL if * not needed. * diff --git a/src/session.c b/src/session.c index 4623b4b5..18688c60 100644 --- a/src/session.c +++ b/src/session.c @@ -421,7 +421,7 @@ int ssh_handle_packets(ssh_session session, int timeout) { spoll_in=ssh_socket_get_poll_handle_in(session->socket); spoll_out=ssh_socket_get_poll_handle_out(session->socket); if(session->server) - ssh_poll_add_events(spoll_in, POLLIN | POLLERR); + ssh_poll_add_events(spoll_in, POLLIN); ctx=ssh_poll_get_ctx(spoll_in); if(ctx==NULL){ ctx=ssh_poll_get_default_ctx(session); diff --git a/src/socket.c b/src/socket.c index fa7ed526..5097be9e 100644 --- a/src/socket.c +++ b/src/socket.c @@ -270,7 +270,7 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd, int r if(s->state == SSH_SOCKET_CONNECTING){ ssh_log(s->session,SSH_LOG_PACKET,"Received POLLOUT in connecting state"); s->state = SSH_SOCKET_CONNECTED; - ssh_poll_set_events(p,POLLOUT | POLLIN | POLLERR); + ssh_poll_set_events(p,POLLOUT | POLLIN); ssh_sock_set_blocking(ssh_socket_get_fd_in(s)); if(s->callbacks && s->callbacks->connected) s->callbacks->connected(SSH_SOCKET_CONNECTED_OK,0,s->callbacks->userdata); |