summaryrefslogtreecommitdiffstats
path: root/source/DeadlockDetect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/DeadlockDetect.cpp')
-rw-r--r--source/DeadlockDetect.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/source/DeadlockDetect.cpp b/source/DeadlockDetect.cpp
index 960038f81..5af3f973d 100644
--- a/source/DeadlockDetect.cpp
+++ b/source/DeadlockDetect.cpp
@@ -13,10 +13,10 @@
/// Number of milliseconds per cycle
-const int CYCLE_MILLISECONDS = 500;
+const int CYCLE_MILLISECONDS = 100;
/// When the number of cycles for the same world age hits this value, it is considered a deadlock
-const int NUM_CYCLES_LIMIT = 40; // 40 = twenty seconds
+const int NUM_CYCLES_LIMIT = 200; // 200 = twenty seconds
@@ -60,20 +60,10 @@ bool cDeadlockDetect::Start(void)
-void cDeadlockDetect::Stop(void)
-{
- m_EvtTerminate.Set();
- super::Stop();
-}
-
-
-
-
-
void cDeadlockDetect::Execute(void)
{
- // Loop until the event is signalled
- while (m_EvtTerminate.Wait(CYCLE_MILLISECONDS) == cEvent::wrTimeout)
+ // Loop until the signal to terminate:
+ while (!m_ShouldTerminate)
{
// Check the world ages:
class cChecker :
@@ -95,6 +85,8 @@ void cDeadlockDetect::Execute(void)
}
} Checker(this);
cRoot::Get()->ForEachWorld(Checker);
+
+ cSleep::MilliSleep(CYCLE_MILLISECONDS);
} // while (should run)
}