diff options
Diffstat (limited to 'src/libstrongswan/utils/windows.c')
-rw-r--r-- | src/libstrongswan/utils/windows.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libstrongswan/utils/windows.c b/src/libstrongswan/utils/windows.c index 48a70b6c2..492821d53 100644 --- a/src/libstrongswan/utils/windows.c +++ b/src/libstrongswan/utils/windows.c @@ -334,6 +334,22 @@ static bool check_dontwait(int *flags) /** * See header */ +#undef close +int windows_close(int fd) +{ + int ret; + + ret = close(fd); + if (ret == -1 && errno == EBADF) + { /* Winsock socket? */ + ret = wserr(closesocket(fd)); + } + return ret; +} + +/** + * See header + */ #undef recv ssize_t windows_recv(int sockfd, void *buf, size_t len, int flags) { |