From b1691c952793d9a290c3aaab3bcdeffd75fadb07 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Sat, 5 Mar 2016 11:33:36 -0800 Subject: [PATCH] Util: Use closesocket on Windows --- CHANGES | 1 + src/util/socket.h | 16 ++++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index ae6e3c64c..9be116d59 100644 --- a/CHANGES +++ b/CHANGES @@ -18,6 +18,7 @@ Bugfixes: - GBA Serialize: Fix memory corruption bug in GBAExtdataSerialize - GBA Serialize: Fix loading savegames from savestates - All: Fix several file handle leaks + - Util: Use closesocket on Windows Misc: - GBA: Slightly optimize GBAProcessEvents - Qt: Add preset for DualShock 4 diff --git a/src/util/socket.h b/src/util/socket.h index cb7cef1d7..cbc27374a 100644 --- a/src/util/socket.h +++ b/src/util/socket.h @@ -109,6 +109,14 @@ static inline ssize_t SocketRecv(Socket socket, void* buffer, size_t size) { #endif } +static inline int SocketClose(Socket socket) { +#ifdef _WIN32 + return closesocket(socket) == 0; +#else + return close(socket) >= 0; +#endif +} + static inline Socket SocketOpenTCP(int port, const struct Address* bindAddress) { Socket sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if (SOCKET_FAILED(sock)) { @@ -145,7 +153,7 @@ static inline Socket SocketOpenTCP(int port, const struct Address* bindAddress) #endif } if (err) { - close(sock); + SocketClose(sock); return INVALID_SOCKET; } return sock; @@ -183,7 +191,7 @@ static inline Socket SocketConnectTCP(int port, const struct Address* destinatio } if (err) { - close(sock); + SocketClose(sock); return INVALID_SOCKET; } return sock; @@ -217,10 +225,6 @@ static inline Socket SocketAccept(Socket socket, struct Address* address) { return INVALID_SOCKET; } -static inline int SocketClose(Socket socket) { - return close(socket) >= 0; -} - static inline int SocketSetBlocking(Socket socket, bool blocking) { #ifdef _WIN32 u_long unblocking = !blocking;