summaryrefslogtreecommitdiffstats
path: root/ucb
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2018-03-19 10:43:24 +0000
committerAndras Timar <andras.timar@collabora.com>2018-03-26 17:43:07 +0200
commitb2832bf61062e5ec5266ac68a55f4a83b56bbceb (patch)
treec6a08e3d7e9a94e16f378d3a98668046d6e38845 /ucb
parentUpdate company's address in EULA (diff)
downloadcore-b2832bf61062e5ec5266ac68a55f4a83b56bbceb.tar.gz
core-b2832bf61062e5ec5266ac68a55f4a83b56bbceb.zip
tdf#116489 - fix ucb TaskManager deadlock.
Change-Id: Ia362db52e7b078203964704569e1d54f053f2b57 Reviewed-on: https://gerrit.libreoffice.org/51544 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 5b1442ec1e6946ec3a3b9d8cfdd57ac1437d23ab) Reviewed-on: https://gerrit.libreoffice.org/51908 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'ucb')
-rw-r--r--ucb/source/ucp/file/filtask.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/ucb/source/ucp/file/filtask.cxx b/ucb/source/ucp/file/filtask.cxx
index 22cc98fdff98..fcbdc82f658a 100644
--- a/ucb/source/ucp/file/filtask.cxx
+++ b/ucb/source/ucp/file/filtask.cxx
@@ -65,7 +65,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;
@@ -79,6 +79,8 @@ TaskManager::endTask( sal_Int32 CommandId,
m_aTaskMap.erase( it );
+ aGuard.clear();
+
if( ErrorCode != TASKHANDLER_NO_ERROR )
throw_handler(
ErrorCode,