On Wed, 2013-12-04 at 00:02 +0100, Michael Stahl wrote:
Well - we could special-case the SolarMutex on Windows - making it not
a CriticalSection but a true Windows 'mutex' that we can include in a
'WaitForMultipleObjects' - along with the rest of the things the
mainloop wants. Or we could associate a condition with it that can be
signalled to wake the mainloop to ask for some event processing now and
then - instead of just waiting on the lock/CriticalSection.
you mean some way to get the main loop to process outstanding Win32
messages while it fails to acquire SolarMutex? ... sounds crazy ... but
what could possibly go wrong with that :)
Lol ;-) well - not quite that crazy; but at least processing / these
messages that are basically pushing things into the main thread that
have to be done there: particularly VCL / GDI / 'yield' requests.
Of course, an alternative might be to have a "GUI thread" that does
nothing but run a main-loop, never executing any code - such that we can
always safely yield, and/or create/destroy windows/GCs etc.
Ho hum ;-) the whole SolarMutex thing needs a ground-up re-design, but
it is quite a chunky research task I think: intersecting with everything
in the app from the bottom up.
Regards,
Michael.
--
michael.meeks@collabora.com <><, Pseudo Engineer, itinerant idiot
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.