On Wed, Mar 22, 2017 at 9:15 AM, Eliot Miranda eliot.miranda@gmail.com wrote:
It may be that longjmp walks the stack (I hope not) looking for the frame containing the setjmp. As we can see from gdb's stack trace that can't be found. So finding out whether longjmp is simple or tries to be clever is important. Hopefully it is simple and just reloads the registers and jumps.
I've no clue if this is consistent across all implementations, but I read "Unlike the other approaches we will see, longjmp() does not iterate over the list of frames, it just blasts through them all at once with wanton disregard for anything precious or beautiful that they might have contained." http://blog.reverberate.org/2013/05/deep-wizardry-stack-unwinding.html
cheers -ben