diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-02-20 12:57:38 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2016-02-20 12:57:38 +0100 |
commit | 2a186f29f4e5fd31b7ac2aa9eb2701d190259eb5 (patch) | |
tree | 2af7dba37a54ce71d758c11cfc39069a426240b4 /src | |
parent | 97a79af4701621ec04b88c8b548dbc35d120e99e (diff) |
Core/Networking: Close the instance socket acceptor on shutdown
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(); } |