From f1283b489ddfd57d5ea8e812264add93a9e20765 Mon Sep 17 00:00:00 2001 From: Derex Date: Thu, 13 Jan 2011 04:21:57 +0300 Subject: [PATCH] [11001] Fixed crashes in ACE network code. Signed-off-by: VladimirMangos Thanks to kero99 for pointing to patch and testing. --- src/game/WorldSocket.cpp | 1 + src/realmd/BufferedSocket.cpp | 2 ++ src/shared/revision_nr.h | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/game/WorldSocket.cpp b/src/game/WorldSocket.cpp index 8b5903897..667b0397c 100644 --- a/src/game/WorldSocket.cpp +++ b/src/game/WorldSocket.cpp @@ -445,6 +445,7 @@ int WorldSocket::handle_close (ACE_HANDLE h, ACE_Reactor_Mask) m_Session = NULL; } + reactor()->remove_handler(this, ACE_Event_Handler::DONT_CALL | ACE_Event_Handler::ALL_EVENTS_MASK); return 0; } diff --git a/src/realmd/BufferedSocket.cpp b/src/realmd/BufferedSocket.cpp index e5580107d..3c32314ac 100644 --- a/src/realmd/BufferedSocket.cpp +++ b/src/realmd/BufferedSocket.cpp @@ -261,5 +261,7 @@ void BufferedSocket::close_connection(void) { this->peer().close_reader(); this->peer().close_writer(); + + reactor()->remove_handler(this, ACE_Event_Handler::DONT_CALL | ACE_Event_Handler::ALL_EVENTS_MASK); } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 22b5a73cb..5de011df3 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11000" + #define REVISION_NR "11001" #endif // __REVISION_NR_H__