aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Server/WorldSocketMgr.cpp4
-rw-r--r--src/server/shared/Networking/SocketMgr.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/server/game/Server/WorldSocketMgr.cpp b/src/server/game/Server/WorldSocketMgr.cpp
index bf3f5c9a315..75299c6f3ce 100644
--- a/src/server/game/Server/WorldSocketMgr.cpp
+++ b/src/server/game/Server/WorldSocketMgr.cpp
@@ -92,13 +92,13 @@ bool WorldSocketMgr::StartWorldNetwork(Trinity::Asio::IoContext& ioContext, std:
if (!instanceAcceptor->Bind())
{
TC_LOG_ERROR("network", "StartNetwork failed to bind instance socket acceptor");
+ delete instanceAcceptor;
return false;
}
_instanceAcceptor = instanceAcceptor;
- _acceptor->SetSocketFactory(std::bind(&BaseSocketMgr::GetSocketForAccept, this));
- _instanceAcceptor->SetSocketFactory(std::bind(&BaseSocketMgr::GetSocketForAccept, this));
+ _instanceAcceptor->SetSocketFactory([this]() { return GetSocketForAccept(); });
_acceptor->AsyncAcceptWithCallback<&OnSocketAccept>();
_instanceAcceptor->AsyncAcceptWithCallback<&OnSocketAccept>();
diff --git a/src/server/shared/Networking/SocketMgr.h b/src/server/shared/Networking/SocketMgr.h
index 64f064aadf2..0aa443f4cc8 100644
--- a/src/server/shared/Networking/SocketMgr.h
+++ b/src/server/shared/Networking/SocketMgr.h
@@ -66,6 +66,8 @@ public:
for (int32 i = 0; i < _threadCount; ++i)
_threads[i].Start();
+ _acceptor->SetSocketFactory([this]() { return GetSocketForAccept(); });
+
return true;
}