aboutsummaryrefslogtreecommitdiffhomepage
path: root/protocol.c
diff options
context:
space:
mode:
authoreihrul <eihrul>2008-07-30 09:31:29 +0000
committereihrul <eihrul>2008-07-30 09:31:29 +0000
commit08836d86b3a11017aab9f1e7d592997933c74517 (patch)
tree4c46077b35d68ae0d6847450138075c885308877 /protocol.c
parent42242320e4333d6755cd0577838b93923083859d (diff)
downloadenet-08836d86b3a11017aab9f1e7d592997933c74517.tar.gz
enet-08836d86b3a11017aab9f1e7d592997933c74517.zip
duplicated disconnect packet fixes
Diffstat (limited to 'protocol.c')
-rw-r--r--protocol.c3
1 files changed, 3 insertions, 0 deletions
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)