diff --git a/libssh/poll.c b/libssh/poll.c index 68e3c41c..5ad12ca0 100644 --- a/libssh/poll.c +++ b/libssh/poll.c @@ -192,11 +192,11 @@ static int bsd_poll(ssh_pollfd_t *fds, nfds_t nfds, int timeout) { /* support for POLLHUP */ ret = recv(fds[i].fd, data, 64, MSG_PEEK); #ifdef _WIN32 - if (ret == -1) && + if ((ret == -1) && (errno == WSAESHUTDOWN || errno == WSAECONNRESET || errno == WSAECONNABORTED || errno == WSAENETRESET)) { #else - if (ret == -1) && + if ((ret == -1) && (errno == ESHUTDOWN || errno == ECONNRESET || errno == ECONNABORTED || errno == ENETRESET)) { #endif