Prevent deadlock while shutting down thread pool.
authorTobias Brunner <tobias@strongswan.org>
Wed, 8 Jun 2011 08:52:05 +0000 (10:52 +0200)
committerTobias Brunner <tobias@strongswan.org>
Wed, 8 Jun 2011 09:44:42 +0000 (11:44 +0200)
commitdcc1ad6a23893d3e228071a306d677403509c9ea
treeca1a1847490e3f012bcbca2252f39a749b221953
parent876961cf0e4edb4708aea359a578b053d6e6d5b0
Prevent deadlock while shutting down thread pool.

During destruction the main thread locks the mutex in processor_t and
waits on a condvar for threads to have terminated.  Because the mutex
has also to be locked to decrement the thread count the condvar cannot
be signaled before doing that as otherwise the main thread might already
be waiting to join the threads while locking the mutex and thus causing
a deadlock.
src/libstrongswan/processing/processor.c