include: Add support for executing finally code for exceptions without using a separate function.
rob at codeweavers.com
Sun Feb 17 12:15:52 CST 2008
A __FINALLY block is similar to an __EXCEPT block except that it needs
to execute when the code in the __TRY block doesn't and it needs to
continue unwinding to find an exception handler.
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.
dlls/ntdll/exception.c | 3 +-
include/wine/exception.h | 56
2 files changed, 38 insertions(+), 21 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3880 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080217/29ffb8b9/attachment.bin
More information about the wine-patches