diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2018-03-19 10:43:24 +0000 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-03-26 08:23:50 +0200 |
commit | 2ab0e004f1b08ef9b4ea04e15c6b99a3e540e80a (patch) | |
tree | 02c4ab13a60d83397aa8642b54b0945529475d28 /ucb | |
parent | a22d67fa8f5a32497a3e55fe36dd219c8069efae (diff) |
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/51554
Reviewed-by: Michael Stahl <mstahl@redhat.com>
(cherry picked from commit 87c70df3d17d222f738054c49d5349a1de2806ec)
Diffstat (limited to 'ucb')
-rw-r--r-- | ucb/source/ucp/file/filtask.cxx | 4 |
1 files changed, 3 insertions, 1 deletions
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, |