From dcd5129c2524401ebc0e566bfd389157e61d31f6 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Fri, 19 Jul 2013 15:27:07 +0200 Subject: processor: force synchronous execute_job() if set_threads(0) has been called During daemon shutdown, some idle threads might be lingering around even if set_threads(0) already has been called. To avoid any races, we enforce synchronous execution of the job. --- src/libstrongswan/processing/processor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/libstrongswan/processing/processor.c') diff --git a/src/libstrongswan/processing/processor.c b/src/libstrongswan/processing/processor.c index e00216e07..adbd95685 100644 --- a/src/libstrongswan/processing/processor.c +++ b/src/libstrongswan/processing/processor.c @@ -408,7 +408,7 @@ METHOD(processor_t, execute_job, void, bool queued = FALSE; this->mutex->lock(this->mutex); - if (get_idle_threads_nolock(this)) + if (this->desired_threads && get_idle_threads_nolock(this)) { prio = sane_prio(job->get_priority(job)); job->status = JOB_STATUS_QUEUED; -- cgit v1.2.3