aboutsummaryrefslogtreecommitdiff
path: root/src/server/worldserver/Master.cpp
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2013-09-01 10:05:39 -0700
committerNay <dnpd.dd@gmail.com>2013-09-01 10:05:39 -0700
commitcd113666902b5b0b0f09eba005a25da01946bdc9 (patch)
treea723872e91be7528cba92b615274c412ee417ef0 /src/server/worldserver/Master.cpp
parent582686090d4c5f5b0d9a59648e63ca01b2888e0f (diff)
parente1e1067d172f9b1a6ba770ca6ae53a07dbc9d56f (diff)
Merge pull request #10694 from jackpoz/loopcounter_race_condition
Core/Thread: Fix race condition in FreezeDetectorRunnable
Diffstat (limited to 'src/server/worldserver/Master.cpp')
-rw-r--r--src/server/worldserver/Master.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/worldserver/Master.cpp b/src/server/worldserver/Master.cpp
index b2a6b60ac4f..d9b97cfd3f5 100644
--- a/src/server/worldserver/Master.cpp
+++ b/src/server/worldserver/Master.cpp
@@ -103,10 +103,11 @@ public:
ACE_Based::Thread::Sleep(1000);
uint32 curtime = getMSTime();
// normal work
- if (_loops != World::m_worldLoopCounter)
+ uint32 worldLoopCounter = World::m_worldLoopCounter.value();
+ if (_loops != worldLoopCounter)
{
_lastChange = curtime;
- _loops = World::m_worldLoopCounter;
+ _loops = worldLoopCounter;
}
// possible freeze
else if (getMSTimeDiff(_lastChange, curtime) > _delaytime)