Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


On 06/09/2015 10:02 AM, Noel Grandin wrote:
On 2015-06-09 09:58 AM, Stephan Bergmann wrote:
On Windows, with master as of last night, "make check" happened to run
into a deadlock in soffice.bin as below.  The
main thread is trying to re-acquire the SolarMutex (after a
SolarMutexReleaser) from within the event loop, while an
incoming URP thread (apparently holding the SolarMutex) does
vcl::Window::dispose which, on Windows, blocks on sending a
message into the event loop.

Shouldn't something that blocks on sending a message into the event loop
drop the SolarMutex while it waits for the reply, and then reacquire it
afterwards?

I'm not sure how this happened to work before introduction of Window::dispose (which got introduced as part of the VclPtr work, IIUC). But doing release/re-acquire of the SolarMutex deep down the call stack has its own perils (and probably creates just as many data races as it helps work around deadlocks).

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.