aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--peer.c1
-rw-r--r--protocol.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/peer.c b/peer.c
index f9d73fc..c08bd95 100644
--- a/peer.c
+++ b/peer.c
@@ -422,6 +422,7 @@ enet_peer_disconnect (ENetPeer * peer, enet_uint32 data)
if (peer -> state == ENET_PEER_STATE_DISCONNECTING ||
peer -> state == ENET_PEER_STATE_DISCONNECTED ||
+ peer -> state == ENET_PEER_STATE_ACKNOWLEDING_DISCONNECT ||
peer -> state == ENET_PEER_STATE_ZOMBIE)
return;
diff --git a/protocol.c b/protocol.c
index af82fd6..47bf844 100644
--- a/protocol.c
+++ b/protocol.c
@@ -629,6 +629,9 @@ enet_protocol_handle_throttle_configure (ENetHost * host, ENetPeer * peer, const
static int
enet_protocol_handle_disconnect (ENetHost * host, ENetPeer * peer, const ENetProtocol * command)
{
+ if (peer -> state == ENET_PEER_STATE_ZOMBIE || peer -> state == ENET_PEER_STATE_ACKNOWLEDGING_DISCONNECT)
+ return 0;
+
enet_peer_reset_queues (peer);
if (peer -> state == ENET_PEER_STATE_CONNECTION_SUCCEEDED)