Index: src/libchcore/TTaskManager.cpp =================================================================== diff -u -N -rba618764ec3c9221fa704e905a9f807bd85ed4c5 -rf49b990b02af82798b59d35fec2374d23c6bb053 --- src/libchcore/TTaskManager.cpp (.../TTaskManager.cpp) (revision ba618764ec3c9221fa704e905a9f807bd85ed4c5) +++ src/libchcore/TTaskManager.cpp (.../TTaskManager.cpp) (revision f49b990b02af82798b59d35fec2374d23c6bb053) @@ -230,10 +230,11 @@ boost::shared_lock lock(m_lock); size_t stTasksToRun = stMaxRunningTasks == 0 ? std::numeric_limits::max() : stMaxRunningTasks; - stTasksToRun -= stRunningCount; - if (stTasksToRun > 0) + if (stRunningCount < stTasksToRun) { + stTasksToRun -= stRunningCount; + for (size_t stIndex = 0; stIndex < m_tTasks.GetCount(); ++stIndex) { TTaskInfoEntry& rEntry = m_tTasks.GetAt(stIndex);