From 6af2e3fc1088f2766715e824d926a8bb10d8e586 Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Thu, 11 Feb 2010 22:42:28 +0100 Subject: Fix closesocket() portbug for win32 --- libssh/socket.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libssh/socket.c') diff --git a/libssh/socket.c b/libssh/socket.c index ea8979c..bcb8612 100644 --- a/libssh/socket.c +++ b/libssh/socket.c @@ -132,7 +132,7 @@ void ssh_socket_set_callbacks(ssh_socket s, ssh_socket_callbacks callbacks){ s->callbacks=callbacks; } -int ssh_socket_pollcallback(ssh_poll_handle p, int fd, int revents, void *v_s){ +int ssh_socket_pollcallback(ssh_poll_handle p, socket_t fd, int revents, void *v_s){ ssh_socket s=(ssh_socket )v_s; char buffer[4096]; int r,w; @@ -146,7 +146,11 @@ int ssh_socket_pollcallback(ssh_poll_handle p, int fd, int revents, void *v_s){ s->poll=p=NULL; getsockopt(fd,SOL_SOCKET,SO_ERROR,(void *)&err,&errlen); s->last_errno=err; +#ifdef _WIN32 + closesocket(fd); +#else close(fd); +#endif s->fd=-1; if(s->callbacks && s->callbacks->connected) s->callbacks->connected(SSH_SOCKET_CONNECTED_ERROR,err, -- cgit