diff options
author | eihrul <eihrul> | 2008-07-30 09:31:29 +0000 |
---|---|---|
committer | eihrul <eihrul> | 2008-07-30 09:31:29 +0000 |
commit | 08836d86b3a11017aab9f1e7d592997933c74517 (patch) | |
tree | 4c46077b35d68ae0d6847450138075c885308877 | |
parent | 42242320e4333d6755cd0577838b93923083859d (diff) | |
download | enet-08836d86b3a11017aab9f1e7d592997933c74517.tar.gz enet-08836d86b3a11017aab9f1e7d592997933c74517.zip |
duplicated disconnect packet fixes
-rw-r--r-- | peer.c | 1 | ||||
-rw-r--r-- | protocol.c | 3 |
2 files changed, 4 insertions, 0 deletions
@@ -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; @@ -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) |