When paused, TaskConsumer threads will eventually notice the paused
condition and exit; however, there's nothing to restart threads when
exiting the paused state.
When unpausing, and while the lock is already held, create TaskConsumer
threads as needed to reach the target thread count.
Signed-off-by: Zygo Blaxell <bees@furryterror.org>
unique_lock<mutex> lock(m_mutex);
m_paused = paused;
m_condvar.notify_all();
+ if (!m_paused) {
+ start_threads_nolock();
+ }
lock.unlock();
}