From 8f48391b79a6e29b6d2bcf59c82a227ba98d1230 Mon Sep 17 00:00:00 2001 From: DarthArgus Date: Thu, 29 Dec 2016 00:59:54 -0600 Subject: [PATCH] trying to figure out where i'm causing us to hang --- .../serverDatabase/src/shared/Persister.cpp | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/engine/server/library/serverDatabase/src/shared/Persister.cpp b/engine/server/library/serverDatabase/src/shared/Persister.cpp index a28fb55e..eef85c8e 100755 --- a/engine/server/library/serverDatabase/src/shared/Persister.cpp +++ b/engine/server/library/serverDatabase/src/shared/Persister.cpp @@ -392,8 +392,6 @@ void Persister::startSave(void) */ Snapshot * Persister::getSnapshotForObject(const NetworkId &networkId, uint32 serverId) { - pad.lock(); - auto i = m_objectSnapshotMap.find(networkId); if (i!=m_objectSnapshotMap.end()) { @@ -406,6 +404,9 @@ Snapshot * Persister::getSnapshotForObject(const NetworkId &networkId, uint32 se else { Snapshot *snap = getSnapshotForServer(serverId); + + pad.lock(); + m_objectSnapshotMap[networkId]=snap; pad.unlock(); @@ -426,8 +427,6 @@ bool Persister::hasDataForObject(const NetworkId &objectId) const Snapshot *Persister::getSnapshotForServer(uint32 serverId) { - pad.lock(); - if (serverId==0) { if (!m_arbitraryGameDataSnapshot) @@ -435,9 +434,6 @@ Snapshot *Persister::getSnapshotForServer(uint32 serverId) m_arbitraryGameDataSnapshot = makeSnapshot(DB::ModeQuery::mode_UPDATE); m_currentSnapshots[0] = m_arbitraryGameDataSnapshot; } - - pad.unlock(); - return m_arbitraryGameDataSnapshot; } else @@ -452,18 +448,12 @@ Snapshot *Persister::getSnapshotForServer(uint32 serverId) if (!m_arbitraryGameDataSnapshot) { m_arbitraryGameDataSnapshot = snap; } - - pad.unlock(); - return snap; } else { NOT_NULL (j->second); - - pad.unlock(); - return j->second; } }