From b646c53aa874b145745e2caa2517199dee5ba803 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 8 Nov 2014 02:48:11 +0100 Subject: Core/IPC: Fixed a possible crash on shutdown --- src/server/game/Server/BattlenetServerManager.cpp | 10 +++++++++- src/server/game/Server/BattlenetServerManager.h | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Server/BattlenetServerManager.cpp b/src/server/game/Server/BattlenetServerManager.cpp index 7f6c1676c1f..048dc2d6402 100644 --- a/src/server/game/Server/BattlenetServerManager.cpp +++ b/src/server/game/Server/BattlenetServerManager.cpp @@ -62,5 +62,13 @@ void Battlenet::ServerManager::SendChangeToonOnlineState(uint32 battlenetAccount msg << toon; msg << online; - _socket->Send(&msg); + Send(&msg); +} + +void Battlenet::ServerManager::Send(zmqpp::message* msg) +{ + if (!_socket) + return; + + _socket->Send(msg); } diff --git a/src/server/game/Server/BattlenetServerManager.h b/src/server/game/Server/BattlenetServerManager.h index fe103a1c981..f2bd6e0ca19 100644 --- a/src/server/game/Server/BattlenetServerManager.h +++ b/src/server/game/Server/BattlenetServerManager.h @@ -24,6 +24,7 @@ namespace zmqpp { class socket; + class message; } namespace Battlenet @@ -45,6 +46,8 @@ namespace Battlenet void SendChangeToonOnlineState(uint32 battlenetAccountId, uint32 gameAccountId, ObjectGuid guid, std::string const& name, bool online); private: + void Send(zmqpp::message* msg); + static Header CreateHeader(BnetCommands command); ZmqMux* _socket; }; -- cgit v1.2.3