From 21dc2419502ec6d4bf42a3e10655ffa8b0449119 Mon Sep 17 00:00:00 2001 From: H0zen Date: Fri, 25 Mar 2016 20:05:47 +0200 Subject: [PATCH] More thread-safety checks. --- src/game/WorldHandlers/ScriptMgr.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/game/WorldHandlers/ScriptMgr.cpp b/src/game/WorldHandlers/ScriptMgr.cpp index f33a5db4..626e99b7 100644 --- a/src/game/WorldHandlers/ScriptMgr.cpp +++ b/src/game/WorldHandlers/ScriptMgr.cpp @@ -748,12 +748,17 @@ void ScriptMgr::LoadScripts(DBScriptType type) void ScriptMgr::LoadDbScripts(DBScriptType t) { + std::set eventIds; // Store possible event ids if (t == DBS_ON_EVENT) CollectPossibleEventIds(eventIds); - LoadScripts(t); + { + ACE_GUARD(ACE_Thread_Mutex, _g, m_lock) + LoadScripts(t); + } + ScriptChainMap& scm = m_dbScripts[t]; for (ScriptChainMap::const_iterator itr = scm.begin(); itr != scm.end(); ++itr)