setjmp
OS/161 Reference Manual
Name
setjmp, longjmp - non-local jump operations
Library
Standard C Library (libc, -lc)
Synopsis
#include <setjmp.h>
int
setjmp(jmp_buf jb);
void
longjmp(jmp_buf jb, int returncode);
Description
setjmp saves the current stack frame and processor state in
jb. A subsequent call to longjmp with the same jb
causes execution to jump to where setjmp was called from.
If the stack frame that called setjmp returns before longjmp is
called, the results are undefined.
Return Values
When called, setjmp returns 0. When longjmp is called, it does not
itself return, but instead causes setjmp to appear to return again,
this time returning returncode.
If zero is passed returncode, it is forced to 1 instead.