NAME | SYNOPSIS | DESCRIPTION | WARNING | ATTRIBUTES
#include <setjmp.h>int setjmp(jmp_buf env);
These functions are useful for dealing with errors and interrupts encountered in low-level subroutines of a program.
The setjmp function saves its stack environment in env (whose type, jmp_buf , is defined in the <setjmp.h> header file) for later use by longjmp . It returns the value 0.
The longjmp function restores the environment saved by the last call of setjmp with the corresponding env argument. After longjmp has completed, program execution continues as if the corresponding call of setjmp had just returned the value val . The caller of setjmp must not have returned in the interim. The longjmp function cannot cause setjmp to return the value 0. If longjmp is invoked with a second argument of 0, setjmp will return 1. All accessible data will have the values stored at the time longjmp was called.
If longjmp is called without first priming env using a calll to setjmp , or if the last such call was performed by another thread, or if the last such call was in a function that has since returned, this will cause severe disruption to the system.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | DESCRIPTION | WARNING | ATTRIBUTES