diff options
-rw-r--r-- | src/system-w32.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/system-w32.c b/src/system-w32.c index 52914e1..523300a 100644 --- a/src/system-w32.c +++ b/src/system-w32.c @@ -147,15 +147,10 @@ __assuan_pipe (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx) int __assuan_close (assuan_context_t ctx, assuan_fd_t fd) { - int rc; - - if (ctx->flags.is_socket) - { - rc = closesocket (HANDLE2SOCKET(fd)); - if (rc) - gpg_err_set_errno ( _assuan_sock_wsa2errno (WSAGetLastError ()) ); - } - else + int rc = closesocket (HANDLE2SOCKET(fd)); + if (rc) + gpg_err_set_errno ( _assuan_sock_wsa2errno (WSAGetLastError ()) ); + if (rc && WSAGetLastError () == WSAENOTSOCK) { rc = CloseHandle (fd); if (rc) |