comphelper/source/misc/threadpool.cxx |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 2ac7d5038806b017c8dc062c1ba29930649cc3db
Author: Matúš Kukan <[email protected]>
Date:   Tue Nov 4 13:08:28 2014 +0100

    thread-pool: Avoid deadlock when there are no working threads
    
    maTasksComplete.wait() would never finish because there are no threads
    working and thus ThreadPool::stopWork() won't be called.
    
    Change-Id: I7103bdb779eb66a65cd8496091e72a0c65eb3567

diff --git a/comphelper/source/misc/threadpool.cxx 
b/comphelper/source/misc/threadpool.cxx
index 3717ffb..39c4e73 100644
--- a/comphelper/source/misc/threadpool.cxx
+++ b/comphelper/source/misc/threadpool.cxx
@@ -187,6 +187,10 @@ void ThreadPool::waitUntilEmpty()
 {
     osl::ResettableMutexGuard aGuard( maGuard );
 
+    // Avoid deadlock when there are no working threads
+    if( maTasks.empty() )
+        return;
+
     if( maWorkers.empty() )
     { // no threads at all -> execute the work in-line
         ThreadTask *pTask;
_______________________________________________
Libreoffice-commits mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to