diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Server/WorldSocketMgr.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Server/WorldSocketMgr.cpp b/src/server/game/Server/WorldSocketMgr.cpp index 94c5a8f6979..4f42e943245 100644 --- a/src/server/game/Server/WorldSocketMgr.cpp +++ b/src/server/game/Server/WorldSocketMgr.cpp @@ -49,7 +49,7 @@ WorldSocketMgr::WorldSocketMgr() : BaseSocketMgr(), _instanceAcceptor(nullptr), WorldSocketMgr::~WorldSocketMgr() { - delete _instanceAcceptor; + ASSERT(!_instanceAcceptor, "StopNetwork must be called prior to WorldSocketMgr destruction"); } bool WorldSocketMgr::StartNetwork(boost::asio::io_service& service, std::string const& bindIp, uint16 port) @@ -85,8 +85,12 @@ bool WorldSocketMgr::StartNetwork(boost::asio::io_service& service, std::string void WorldSocketMgr::StopNetwork() { + _instanceAcceptor->Close(); BaseSocketMgr::StopNetwork(); + delete _instanceAcceptor; + _instanceAcceptor = nullptr; + sScriptMgr->OnNetworkStop(); } |