[Libreoffice-commits] core.git: Branch 'libreoffice-6-0' - ucb/source

Michael Meeks michael.meeks at collabora.com
Mon Mar 19 17:24:59 UTC 2018


 ucb/source/ucp/file/filtask.cxx |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 87c70df3d17d222f738054c49d5349a1de2806ec
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Mon Mar 19 10:43:24 2018 +0000

    tdf#116489 - fix ucb TaskManager deadlock.
    
    Change-Id: Ia362db52e7b078203964704569e1d54f053f2b57
    Reviewed-on: https://gerrit.libreoffice.org/51544
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
    (cherry picked from commit 5b1442ec1e6946ec3a3b9d8cfdd57ac1437d23ab)
    Reviewed-on: https://gerrit.libreoffice.org/51554
    Reviewed-by: Michael Stahl <mstahl at redhat.com>

diff --git a/ucb/source/ucp/file/filtask.cxx b/ucb/source/ucp/file/filtask.cxx
index 9b49b26c5be7..6f4f54a16af2 100644
--- a/ucb/source/ucp/file/filtask.cxx
+++ b/ucb/source/ucp/file/filtask.cxx
@@ -418,7 +418,7 @@ TaskManager::endTask( sal_Int32 CommandId,
                       const OUString& aUncPath,
                       BaseContent* pContent)
 {
-    osl::MutexGuard aGuard( m_aMutex );
+    osl::ClearableMutexGuard aGuard( m_aMutex );
     TaskMap::iterator it = m_aTaskMap.find( CommandId );
     if( it == m_aTaskMap.end() )
         return;
@@ -432,6 +432,8 @@ TaskManager::endTask( sal_Int32 CommandId,
 
     m_aTaskMap.erase( it );
 
+    aGuard.clear();
+
     if( ErrorCode != TASKHANDLER_NO_ERROR )
         throw_handler(
             ErrorCode,


More information about the Libreoffice-commits mailing list