diff options
-rw-r--r-- | libssh/poll.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libssh/poll.c b/libssh/poll.c index a843657b..1e6b5ff8 100644 --- a/libssh/poll.c +++ b/libssh/poll.c @@ -262,6 +262,8 @@ static int bsd_poll(ssh_pollfd_t *fds, nfds_t nfds, int timeout) { } void ssh_poll_init(void) { + ssh_poll_emu = bsd_poll; + #ifdef _WIN32 hlib = LoadLibrary(WS2_LIBRARY); if (hlib != NULL) { @@ -269,20 +271,20 @@ void ssh_poll_init(void) { } #endif /* _WIN32 */ - if (wsa_poll == NULL) { + if (wsa_poll != NULL) { ssh_poll_emu = bsd_poll; - } else { - ssh_poll_emu = win_poll; } } void ssh_poll_cleanup(void) { ssh_poll_emu = bsd_poll; +#ifdef _WIN32 wsa_poll = NULL; FreeLibrary(hlib); hlib = NULL; +#endif /* _WIN32 */ } int ssh_poll(ssh_pollfd_t *fds, nfds_t nfds, int timeout) { |