https://bugs.documentfoundation.org/show_bug.cgi?id=81749

Michael Stahl <mst...@redhat.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mst...@redhat.com,
                   |                            |sberg...@redhat.com

--- Comment #1 from Michael Stahl <mst...@redhat.com> ---
note: i've just removed the 25% of framework::Gate that was unused on master to
make it easier to understand

* the only way the Gate can be "closed" so that the thread will
  block in Gate::wait() is if another thread calls
  TransactionManager::registerTransaction()
  N times and blocks before calling N times
  TransactionManager::unregisterTransaction()

  unregisterTransaction() does not throw anything

  the only calls to both functions are from TransactionGuard
  which is RAII and only used on the stack

=> the main thread blocking on SolarMutex cannot be immediate cause of the
deadlock

* a self-deadlock is possible with Gate, but the only framework
  function on the blocking thread's stack is Frame::close()
  which already releases its TransactionGuard

either some other thread is in framework code, or perhaps
the "lost wakeups" cited in osl/conditn.hxx are to blame?

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to