From c7a463420bf32a27ff577dd86dead3b40edc2228 Mon Sep 17 00:00:00 2001 From: Chris Miles Date: Fri, 16 May 2025 13:38:42 -0500 Subject: [PATCH] [World] Fix Rarer Reload Deadlock (#4893) --- world/eqemu_api_world_data_service.cpp | 3 ++- world/zonelist.cpp | 17 +++++++++++++++++ world/zonelist.h | 3 +++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/world/eqemu_api_world_data_service.cpp b/world/eqemu_api_world_data_service.cpp index 7a15162e7..f843f1230 100644 --- a/world/eqemu_api_world_data_service.cpp +++ b/world/eqemu_api_world_data_service.cpp @@ -162,7 +162,8 @@ void EQEmuApiWorldDataService::reload(Json::Value &r, const std::vector> &getZoneServerList() const; inline uint32_t GetServerListCount() { return zone_server_list.size(); } void SendServerReload(ServerReload::Type type, uchar *packet = nullptr); + std::mutex m_queued_reloads_mutex; + std::vector m_queued_reloads = {}; + void QueueServerReload(ServerReload::Type &type); private: void OnTick(EQ::Timer *t); uint32 NextID;