Nonlocal Goto: setjmp() and longjmp()
The scope of setjmp() and longjmp() is
limited to one thread, which is acceptable most of the time. However, the
limited scope does mean that a thread that handles a signal can execute a longjmp() only when a setjmp() is performed in
the same thread.