include: Add support for executing finally code for exceptions without using a separate function.

Alexandre Julliard julliard at
Sun Feb 17 12:43:54 CST 2008

Robert Shearman <rob at> writes:

> The first goal is accomplished by changing the previous two-state
> variable of __first into a three-state variable where the third state
> is the state in which the finally code is executed in the normal
> case. The second goal is accomplished by calling sigsetjmp in
> __wine_finally_handler to give the finally code a place to jump back
> to after it has finished executing.

That can't work, once you longjmp into the finally block you can't
longjmp back, since you are no longer inside the function that did the

Alexandre Julliard
julliard at

More information about the wine-devel mailing list