diff options
author | truelight <truelight@openttd.org> | 2005-01-11 15:52:18 +0000 |
---|---|---|
committer | truelight <truelight@openttd.org> | 2005-01-11 15:52:18 +0000 |
commit | 4873c0b1ea98a75d46cc50a0b4f87996433305c3 (patch) | |
tree | 562c694b0df934d73498ae1fe0e861fc3847c606 /network_udp.c | |
parent | 1feae2083d6c1a8c7c1470149b190476793376cb (diff) | |
download | openttd-4873c0b1ea98a75d46cc50a0b4f87996433305c3.tar.xz |
(svn r1483) -Fix: don't close a socket if it is already closed (windows doesn't like
it :() (partly tnx to tamlin)
Diffstat (limited to 'network_udp.c')
-rw-r--r-- | network_udp.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/network_udp.c b/network_udp.c index bd319322a..0d62dec3a 100644 --- a/network_udp.c +++ b/network_udp.c @@ -368,17 +368,23 @@ void NetworkUDPClose(void) DEBUG(net, 1) ("[NET][UDP] Closed listeners"); if (_network_udp_server) { - closesocket(_udp_server_socket); - _udp_server_socket = INVALID_SOCKET; + if (_udp_server_socket != INVALID_SOCKET) { + closesocket(_udp_server_socket); + _udp_server_socket = INVALID_SOCKET; + } - closesocket(_udp_master_socket); - _udp_master_socket = INVALID_SOCKET; + if (_udp_master_socket != INVALID_SOCKET) { + closesocket(_udp_master_socket); + _udp_master_socket = INVALID_SOCKET; + } _network_udp_server = false; _network_udp_broadcast = 0; } else { - closesocket(_udp_client_socket); - _udp_client_socket = INVALID_SOCKET; + if (_udp_client_socket != INVALID_SOCKET) { + closesocket(_udp_client_socket); + _udp_client_socket = INVALID_SOCKET; + } _network_udp_broadcast = 0; } } |