Make VIRTUAL_SetFaultHandler an internal function (take 3)

Dimitrie O. Paun dpaun at
Tue Apr 19 23:23:25 CDT 2005

On Tue, Apr 19, 2005 at 08:37:30PM +0200, Alexandre Julliard wrote:
> Actually you have the same problem with the GDI lock, this is going to
> be more tricky to solve...

Duh! One way to do it is to not hold the lock while we call the
handler. Which I think we need to do anyway, as app handlers are
not under our control :)

But to do so, we need to see what semantics we must have for the
loop calling the handlers. If we drop the lock, the list can be
changed while we iterate through it. A simple solution would be
to detect such a change, and if it occurs, restart from the
beginning? But I'm not sure that's going to cut it :)

Or notice that we are handling a fault in Add/Remove and simply
store the handler in another list that will be processed by the
main handler after it has finished processing the current fault.


More information about the wine-devel mailing list