Temporarily yielding SolarMutex to another thread

Noel Grandin noelgrandin at gmail.com
Sat Feb 2 13:49:29 UTC 2019


Assuming that there is no other way to accomplish this, how could it work
to allow multiple child widgets to "own" the SolarMutex simultaneously? We
just need one of those threads to trigger an update to something like a
cache, and one of the other threads is likely to crash because of a stale
pointer.

Unless you are talking about passing some kind of permission down to the
child threads, which says "this thread is allowed to also take the
SolarMutex, even though it is already locked", which means we'd need
another counter, and then how would that interact with SolarMutexReleaser.

Possibly another way here is to make the parts of the child threads that
currently need the SolarMutex, to get their own mutex, preferably a
reader/writer mutex, so that multiple of them can run in parallel.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20190202/4863cb90/attachment.html>


More information about the LibreOffice mailing list