diff options
author | Stephan Bergmann <stephan.bergmann@allotropia.de> | 2024-08-16 15:02:15 +0200 |
---|---|---|
committer | Stephan Bergmann <stephan.bergmann@allotropia.de> | 2024-08-18 15:10:00 +0200 |
commit | 50cd19debbd3f94df0fc4b370f6f6e69d4a1e085 (patch) | |
tree | 8da269eb47af6f3f8bcbbc3eee9526b2e2dbef6b /vcl/inc | |
parent | 38b9d5e86dcab74288163bb8c6ad798e93e3bedf (diff) |
Emscripten: Clean up SolarMutex
...before disappearing through the QApplication::exec() hole, or else the
SolarMutex would remain locked forever on the application's main thread.
This requires changing SalInstance::ReleaseYieldMutexAll() to
SalInstance::ReleaseYieldMutex(bool all). (Further recursive locking of the
SolarMutex via SolarMutexGuard instances that would be present on the call stack
leading up to the call to QApplication::exec() would be released during the
stack unwinding, so just undo the one acquiring done in InitVCL, not all of
them.)
Change-Id: I9ef57abb7da7f840999700e4eaeeefd2da784645
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171956
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Diffstat (limited to 'vcl/inc')
-rw-r--r-- | vcl/inc/salinst.hxx | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx index 380ee2ce202e..1fbe86285054 100644 --- a/vcl/inc/salinst.hxx +++ b/vcl/inc/salinst.hxx @@ -137,7 +137,7 @@ public: // YieldMutex comphelper::SolarMutex* GetYieldMutex(); - sal_uInt32 ReleaseYieldMutexAll(); + sal_uInt32 ReleaseYieldMutex(bool all); void AcquireYieldMutex(sal_uInt32 nCount = 1); // return true, if the current thread is the main thread |