home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 2
/
goldfish_vol2_cd1.bin
/
gnu
/
man
/
cat3
/
setjmp.0
< prev
next >
Wrap
Text File
|
1993-12-07
|
4KB
|
133 lines
SETJMP(3) UNIX Programmer's Manual SETJMP(3)
NNAAMMEE
ssiiggsseettjjmmpp, ssiigglloonnggjjmmpp, sseettjjmmpp, lloonnggjjmmpp, __sseettjjmmpp, __lloonnggjjmmpp lloonnggjjmmppeerrrroorr -
nonlocal jumps
SSYYNNOOPPSSIISS
##iinncclluuddee <<sseettjjmmpp..hh>>
_i_n_t
ssiiggsseettjjmmpp(_s_i_g_j_m_p___b_u_f _e_n_v, _i_n_t _s_a_v_e_m_a_s_k)
_v_o_i_d
ssiigglloonnggjjmmpp(_s_i_g_j_m_p___b_u_f _e_n_v, _i_n_t _v_a_l)
_i_n_t
sseettjjmmpp(_j_m_p___b_u_f _e_n_v)
_v_o_i_d
lloonnggjjmmpp(_j_m_p___b_u_f _e_n_v, _i_n_t _v_a_l)
_i_n_t
__sseettjjmmpp(_j_m_p___b_u_f _e_n_v)
_v_o_i_d
__lloonnggjjmmpp(_j_m_p___b_u_f _e_n_v, _i_n_t _v_a_l)
_v_o_i_d
lloonnggjjmmppeerrrroorr(_v_o_i_d)
DDEESSCCRRIIPPTTIIOONN
The ssiiggsseettjjmmpp(), sseettjjmmpp(), and __sseettjjmmpp() functions save their calling en
vironment in _e_n_v. Each of these functions returns 0.
The corresponding lloonnggjjmmpp() functions restore the environment saved by
their most recent respective invocations of the sseettjjmmpp() function. They
then return so that program execution continues as if the corresponding
invocation of the sseettjjmmpp() call had just returned the value specified by
_v_a_l, instead of 0.
Pairs of calls may be intermixed, i.e. both ssiiggsseettjjmmpp() and ssiigglloonnggjjmmpp()
and sseettjjmmpp() and lloonnggjjmmpp() combinations may be used in the same program,
however, individual calls may not, i.e. the _e_n_v argument to ssiiggsseettjjmmpp()
may not be passed to lloonnggjjmmpp().
The lloonnggjjmmpp() routines may not be called after the routine which called
the sseettjjmmpp() routines returns.
All accessible objects have values as of the time lloonnggjjmmpp() routine was
called, except that the values of objects of automatic storage invocation
duration that do not have the _v_o_l_a_t_i_l_e type and have been changed between
the sseettjjmmpp() invocation and lloonnggjjmmpp() call are indeterminate.
The sseettjjmmpp()/lloonnggjjmmpp() pairs save and restore the signal mask while
__sseettjjmmpp()/__lloonnggjjmmpp() pairs save and restore only the register set and the
stack. (See ssiiggmmaasskk(_2).)
The ssiiggsseettjjmmpp()/ssiigglloonnggjjmmpp() function pairs save and restore the signal
mask if the argument _s_a_v_e_m_a_s_k is nonzero, otherwise only the register
set and the stack are saved.
EERRRROORRSS
If the contents of the _e_n_v are corrupted, or correspond to an environment
that has already returned, the lloonnggjjmmpp() routine calls the routine
lloonnggjjmmppeerrrroorr(_3). If lloonnggjjmmppeerrrroorr() returns the program is aborted (see
abort(2)). The default version of lloonnggjjmmppeerrrroorr() prints the message
``longjmp botch'' to standard error and returns. User programs wishing
to exit more gracefully should write their own versions of
lloonnggjjmmppeerrrroorr().
SSEEEE AALLSSOO
sigaction(2), sigstack(2), signal(3)
SSTTAANNDDAARRDDSS
The sseettjjmmpp() and lloonnggjjmmpp() functions conform to ANSI C3.1591989 (``ANSI
C'').
4th Berkeley Distribution July 30, 1991 2