diff --git a/src/server/bnetserver/Server/Session.cpp b/src/server/bnetserver/Server/Session.cpp index 36137b20b41..062ee535b23 100644 --- a/src/server/bnetserver/Server/Session.cpp +++ b/src/server/bnetserver/Server/Session.cpp @@ -672,6 +672,7 @@ bool Battlenet::Session::Update() if (_queryFuture.valid() && _queryFuture.wait_for(std::chrono::seconds(0)) == std::future_status::ready) { auto callback = std::move(_queryCallback); + _queryCallback = nullptr; callback(_queryFuture.get()); } diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index 7f9b398e50d..6839e5831de 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -130,6 +130,7 @@ bool WorldSocket::Update() if (_queryFuture.valid() && _queryFuture.wait_for(std::chrono::seconds(0)) == std::future_status::ready) { auto callback = std::move(_queryCallback); + _queryCallback = nullptr; callback(_queryFuture.get()); } }