Kaydet (Commit) ded58e06 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Related tdf#93404: Fix deadlock when joining WakeUpThread

...after 54f10a96 "tdf#93404: Forgot to launch
WakeUpThread," when the WakeUpThread blocks on locking
StatusIndicatorFactory::m_mutex in StatusIndicatorFactory::update() while the
joining thread blocks on StatusIndicatorFactory::impl_stopWakeUpThread() ->
WakeUpThread::stop() -> Thread::join().

Change-Id: I3480014b1f522901064ea9b71ffa2ebf5d74fef5
üst 4622823a
...@@ -550,10 +550,14 @@ void StatusIndicatorFactory::impl_startWakeUpThread() ...@@ -550,10 +550,14 @@ void StatusIndicatorFactory::impl_startWakeUpThread()
void StatusIndicatorFactory::impl_stopWakeUpThread() void StatusIndicatorFactory::impl_stopWakeUpThread()
{ {
rtl::Reference<WakeUpThread> wakeUp;
{
osl::MutexGuard g(m_mutex); osl::MutexGuard g(m_mutex);
if (m_pWakeUp.is()) wakeUp = m_pWakeUp;
}
if (wakeUp.is())
{ {
m_pWakeUp->stop(); wakeUp->stop();
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment