diff options
author | Machiavelli <machiavelli.trinity@gmail.com> | 2011-11-26 19:11:58 +0100 |
---|---|---|
committer | Machiavelli <machiavelli.trinity@gmail.com> | 2011-11-26 19:11:58 +0100 |
commit | 4c3c418511fdfcc9fc7a7e17d66df337792ed056 (patch) | |
tree | 8ec22ef8b82abfb062a900c2d13bf51f813ffbbf /src/server/collision/Management/VMapManager2.cpp | |
parent | 310af5bb76d5b58171121d64bf26bc451bc07e40 (diff) |
Core/Misc: Make VMapManager2::acquireModelInstance and releaseModelInstance thread safe
Closes #4086
Diffstat (limited to 'src/server/collision/Management/VMapManager2.cpp')
-rw-r--r-- | src/server/collision/Management/VMapManager2.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/collision/Management/VMapManager2.cpp b/src/server/collision/Management/VMapManager2.cpp index 9f32c749c5c..0632542f82e 100644 --- a/src/server/collision/Management/VMapManager2.cpp +++ b/src/server/collision/Management/VMapManager2.cpp @@ -247,6 +247,9 @@ namespace VMAP WorldModel* VMapManager2::acquireModelInstance(const std::string& basepath, const std::string& filename) { + //! Critical section, thread safe access to iLoadedModelFiles + TRINITY_GUARD(ACE_Thread_Mutex, LoadedModelFilesLock); + ModelFileMap::iterator model = iLoadedModelFiles.find(filename); if (model == iLoadedModelFiles.end()) { @@ -267,6 +270,9 @@ namespace VMAP void VMapManager2::releaseModelInstance(const std::string &filename) { + //! Critical section, thread safe access to iLoadedModelFiles + TRINITY_GUARD(ACE_Thread_Mutex, LoadedModelFilesLock); + ModelFileMap::iterator model = iLoadedModelFiles.find(filename); if (model == iLoadedModelFiles.end()) { |