Browse Source

Ensured that ThreadPool::moveJobToFront can survive a stale job pointer

tags/2021-05-28
hogliux 7 years ago
parent
commit
350551b37c
1 changed files with 3 additions and 6 deletions
  1. +3
    -6
      modules/juce_core/threads/juce_ThreadPool.cpp

+ 3
- 6
modules/juce_core/threads/juce_ThreadPool.cpp View File

@@ -207,13 +207,10 @@ void ThreadPool::moveJobToFront (const ThreadPoolJob* job) noexcept
{ {
const ScopedLock sl (lock); const ScopedLock sl (lock);
if (! job->isActive)
{
auto index = jobs.indexOf (const_cast<ThreadPoolJob*> (job));
auto index = jobs.indexOf (const_cast<ThreadPoolJob*> (job));
if (index > 0)
jobs.move (index, 0);
}
if (index > 0 && ! job->isActive)
jobs.move (index, 0);
} }
bool ThreadPool::waitForJobToFinish (const ThreadPoolJob* const job, const int timeOutMs) const bool ThreadPool::waitForJobToFinish (const ThreadPoolJob* const job, const int timeOutMs) const


Loading…
Cancel
Save