diff options
author | Tor Lillqvist <tml@iki.fi> | 2013-04-07 10:42:01 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2013-04-07 10:49:37 +0300 |
commit | 6025fd8970444794e0a9dde76f12d0dd1ec8b778 (patch) | |
tree | 655f35faca8a215ea94aa7729553b457cd083f93 | |
parent | 07c9bb103823dd9c0dc297d0315907ab94488f93 (diff) |
Avoid hang on make subsequentcheck on Linux
Acquire the yield mutex in the VirtualDevice destructor only in a dbgutil
build on OS X. (I added that acquire yesterday to fix an assertion when
exiting on OS X.) Seems to fix a hang in "make subsequentcheck" on Linux. No
idea what is going on exactly, sigh.
Change-Id: Ifcb1897720998d0725a8db0d5f8c75848c6a30f7
-rw-r--r-- | vcl/source/gdi/virdev.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/vcl/source/gdi/virdev.cxx b/vcl/source/gdi/virdev.cxx index 559a1920dd7f..2e8415de8656 100644 --- a/vcl/source/gdi/virdev.cxx +++ b/vcl/source/gdi/virdev.cxx @@ -184,9 +184,14 @@ VirtualDevice::~VirtualDevice() ImplSVData* pSVData = ImplGetSVData(); - // OutputDevice::ImplReleaseGraphics() requires the yield mutex to - // be held, hmm. +#if defined(DBG_UTIL) && defined(MACOSX) + // OutputDevice::ImplReleaseGraphics() requires the yield mutex to be + // held, hmm. For some reason this is a problem only in a dbgutil build on + // OS X, when this stuff gets called when soffice is about to exit, from + // editeng/source/editeng/eerdll.cxx. If this code is used on Linux, we + // again get a hang in some/all of the subsequentchecks. pSVData->mpDefInst->AcquireYieldMutex( 1 ); +#endif ImplReleaseGraphics(); |