aboutsummaryrefslogtreecommitdiff
path: root/src/socket.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2015-04-10 10:41:14 +0200
committerAndreas Schneider <asn@cryptomilk.org>2015-04-10 13:32:09 +0200
commit1cb940c44a10a3c2a4feaa9d71691a962619ca94 (patch)
treed0f23587df021e23b02e145528aa311cf4fbf451 /src/socket.c
parent3f04367fb8fbcf18e46cb09a766b18f36ffd9602 (diff)
downloadlibssh-1cb940c44a10a3c2a4feaa9d71691a962619ca94.tar.gz
libssh-1cb940c44a10a3c2a4feaa9d71691a962619ca94.tar.xz
libssh-1cb940c44a10a3c2a4feaa9d71691a962619ca94.zip
socket: Cleanup ssh_socket_close() code.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/socket.c')
-rw-r--r--src/socket.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/socket.c b/src/socket.c
index aa9c4579..022c9a76 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -425,17 +425,18 @@ int ssh_socket_unix(ssh_socket s, const char *path) {
void ssh_socket_close(ssh_socket s){
if (ssh_socket_is_open(s)) {
#ifdef _WIN32
- closesocket(s->fd_in);
+ CLOSE_SOCKET(s->fd_in);
/* fd_in = fd_out under win32 */
s->last_errno = WSAGetLastError();
#else
- close(s->fd_in);
- if(s->fd_out != s->fd_in && s->fd_out != -1)
- close(s->fd_out);
+ if (s->fd_out != s->fd_in && s->fd_out != -1) {
+ CLOSE_SOCKET(s->fd_out);
+ }
+ CLOSE_SOCKET(s->fd_in);
s->last_errno = errno;
#endif
- s->fd_in = s->fd_out = SSH_INVALID_SOCKET;
}
+
if(s->poll_in != NULL){
if(s->poll_out == s->poll_in)
s->poll_out = NULL;