locking foo ...

Michael Meeks michael.meeks at collabora.com
Wed Dec 4 01:38:14 PST 2013


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 at collabora.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list