aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-07-28 19:44:38 +0200
committerShauren <shauren.trinity@gmail.com>2020-07-28 19:44:38 +0200
commit3ad05386c844438af0dda56bbb46fa665d870c5c (patch)
treef25d0020338bc9ca4cfc544881965541b67a6eaa
parent5cd93df9eec1d1b310916fefecc9282e02e9cf2d (diff)
Core/Networking: Fixed authserver socket read handlers being called on incorrect thread
-rw-r--r--src/server/game/Server/WorldSocketMgr.cpp2
-rw-r--r--src/server/shared/Networking/SocketMgr.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Server/WorldSocketMgr.cpp b/src/server/game/Server/WorldSocketMgr.cpp
index 845ea4a52a8..3b801375903 100644
--- a/src/server/game/Server/WorldSocketMgr.cpp
+++ b/src/server/game/Server/WorldSocketMgr.cpp
@@ -74,8 +74,6 @@ bool WorldSocketMgr::StartWorldNetwork(Trinity::Asio::IoContext& ioContext, std:
if (!BaseSocketMgr::StartNetwork(ioContext, bindIp, port, threadCount))
return false;
- _acceptor->SetSocketFactory(std::bind(&BaseSocketMgr::GetSocketForAccept, this));
-
_acceptor->AsyncAcceptWithCallback<&OnSocketAccept>();
sScriptMgr->OnNetworkStart();
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;
}