Util: Use closesocket on Windows

This commit is contained in:
Jeffrey Pfau 2016-03-05 11:33:36 -08:00
parent d3a637fbae
commit b1691c9527
2 changed files with 11 additions and 6 deletions

View File

@ -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

View File

@ -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;