aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libssh/poll.c8
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) {