summaryrefslogtreecommitdiff
path: root/network_udp.c
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2005-01-11 15:52:18 +0000
committertruelight <truelight@openttd.org>2005-01-11 15:52:18 +0000
commit4873c0b1ea98a75d46cc50a0b4f87996433305c3 (patch)
tree562c694b0df934d73498ae1fe0e861fc3847c606 /network_udp.c
parent1feae2083d6c1a8c7c1470149b190476793376cb (diff)
downloadopenttd-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.c18
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;
}
}