[Libreoffice-commits] core.git: Branch 'libreoffice-5-0-1' - framework/source

Stephan Bergmann sbergman at redhat.com
Fri Aug 14 05:16:30 PDT 2015


 framework/source/helper/statusindicatorfactory.cxx |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

New commits:
commit 0b1dda2bfaf4f43dd347c2986f1508458dc47c6d
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Aug 13 12:04:55 2015 +0200

    tdf#93404: Forgot to launch WakeUpThread
    
    ...in 017f250764ec7b4ecb82ac19f5b3f68cadf1bf56 "Ensure WakeUpThread is joined
    before exit"
    
    (cherry picked from commit 54f10a9654b617c4c993044e52e7bd40d0151c53, plus
    ded58e062c9e9b8b5f9dc9a18777a1be68359a91 "Related tdf#93404: Fix deadlock when
    joining WakeUpThread")
    
    Change-Id: Iaa5a5772f099b11229bd40c3cc10d863ef0ad5b3
    Reviewed-on: https://gerrit.libreoffice.org/17698
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>

diff --git a/framework/source/helper/statusindicatorfactory.cxx b/framework/source/helper/statusindicatorfactory.cxx
index 3b4001a..8549723 100644
--- a/framework/source/helper/statusindicatorfactory.cxx
+++ b/framework/source/helper/statusindicatorfactory.cxx
@@ -544,15 +544,20 @@ void StatusIndicatorFactory::impl_startWakeUpThread()
     if (!m_pWakeUp.is())
     {
         m_pWakeUp = new WakeUpThread(this);
+        m_pWakeUp->launch();
     }
 }
 
 void StatusIndicatorFactory::impl_stopWakeUpThread()
 {
-    osl::MutexGuard g(m_mutex);
-    if (m_pWakeUp.is())
+    rtl::Reference<WakeUpThread> wakeUp;
+    {
+        osl::MutexGuard g(m_mutex);
+        wakeUp = m_pWakeUp;
+    }
+    if (wakeUp.is())
     {
-        m_pWakeUp->stop();
+        wakeUp->stop();
     }
 }
 


More information about the Libreoffice-commits mailing list