aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/processing
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2011-03-15 11:48:19 +0100
committerMartin Willi <martin@revosec.ch>2011-03-15 11:48:19 +0100
commit11f89bc948a9814dad77010eeecb0bb285b57a1b (patch)
treec94a8819ee6af6294cee357a9a5ccea849873b9b /src/libstrongswan/processing
parent41080cbbd9f0e1087eb90bb3990768afee0de462 (diff)
downloadstrongswan-11f89bc948a9814dad77010eeecb0bb285b57a1b.tar.bz2
strongswan-11f89bc948a9814dad77010eeecb0bb285b57a1b.tar.xz
Do not invoke processor restart() if not required
Doing so might result in a deadlock during shutdown if a delayed restart is locked on the bus during the debug statement.
Diffstat (limited to 'src/libstrongswan/processing')
-rw-r--r--src/libstrongswan/processing/processor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstrongswan/processing/processor.c b/src/libstrongswan/processing/processor.c
index 723aec908..3d28ff18f 100644
--- a/src/libstrongswan/processing/processor.c
+++ b/src/libstrongswan/processing/processor.c
@@ -136,8 +136,9 @@ static void process_jobs(private_processor_t *this)
thread_cleanup_pop(FALSE);
this->mutex->lock(this->mutex);
}
+ this->total_threads--;
+ this->thread_terminated->signal(this->thread_terminated);
this->mutex->unlock(this->mutex);
- restart(this);
}
/**