diff options
Diffstat (limited to 'cppu')
-rw-r--r-- | cppu/source/threadpool/jobqueue.cxx | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cppu/source/threadpool/jobqueue.cxx b/cppu/source/threadpool/jobqueue.cxx index 47418aff8fa2..08640572b678 100644 --- a/cppu/source/threadpool/jobqueue.cxx +++ b/cppu/source/threadpool/jobqueue.cxx @@ -97,7 +97,9 @@ namespace cppu_threadpool { if( 0 == m_lstCallstack.front() ) { // disposed ! - if( m_lstJob.empty() ) + if( m_lstJob.empty() + && (m_lstCallstack.empty() + || m_lstCallstack.front() != 0) ) { osl_resetCondition( m_cndWait ); } @@ -110,7 +112,8 @@ namespace cppu_threadpool { job = m_lstJob.front(); m_lstJob.pop_front(); } - if( m_lstJob.empty() ) + if( m_lstJob.empty() + && (m_lstCallstack.empty() || m_lstCallstack.front() != 0) ) { osl_resetCondition( m_cndWait ); } |