.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\" @(#)setjmp.3 6.2 (Berkeley) %G%
setjmp, longjmp \- non-local goto
These routines are useful for dealing with errors
and interrupts encountered in
a low-level subroutine of a program.
saves its stack environment in
restores the environment saved by the last call of
It then returns in such a way that execution
continues as if the call of
had just returned the value
to the function that invoked
which must not itself have returned in the interim.
All accessible data have values as of the time
save and restore the signal mask
manipulate only the C stack and registers.
are corrupted, or correspond to an environment that has already returned,
returns the program is aborted.
prints the message ``longjmp botch'' to standard error and returns.
User programs wishing to exit more gracefully can write their own
sigvec(2), sigstack(2), signal(3)