rpc exception

Ove Kaaven ovek at arcticnet.no
Thu May 1 01:42:51 CDT 2003

tor, 01.05.2003 kl. 07.26 skrev Gregory M. Turner:
> (a) if the exception code runs, A() keeps running and eventually just 
> returns... will it properly release all the stack from B(), C() and so on or 
> is this a problem?  I guess its OK since the SP just goes back to what it was 
> when I called setjmp, right?

This would be OK.

> (b) if the exception code doesn't run, A() runs longjmp again, to non-local 
> goto /back/ into D(), using the second jmp_buf.  This returns normally and 
> would, I guess, expect to unwind the stack normally through C(), B() and so 
> on... (this is all ignoring the fact that flow-of-control was interrupted by 
> an exception, but for my purposes I don't think it matters).

This is not OK. Since the first setjmp releases all the stack frames
between A and D, trying to later reclaim that released stack with
another setjmp is doomed to unpredictable stack corruption.

More information about the wine-devel mailing list