diff options
author | Martin Willi <martin@revosec.ch> | 2013-07-19 15:27:07 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-07-19 15:30:22 +0200 |
commit | dcd5129c2524401ebc0e566bfd389157e61d31f6 (patch) | |
tree | 2f8f20147c689df7d5651d7040453d66288544bf /src/libstrongswan/processing/processor.c | |
parent | 2fa92ad25648dbe3e54a06cff15ae41068797c59 (diff) | |
download | strongswan-dcd5129c2524401ebc0e566bfd389157e61d31f6.tar.bz2 strongswan-dcd5129c2524401ebc0e566bfd389157e61d31f6.tar.xz |
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.
Diffstat (limited to 'src/libstrongswan/processing/processor.c')
-rw-r--r-- | src/libstrongswan/processing/processor.c | 2 |
1 files changed, 1 insertions, 1 deletions
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; |