aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Server/WorldSocketMgr.cpp6
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();
}