4.3BSD-Tahoe/usr/man/cat3/longjmp.0

Compare this file to the similar file:
Show the results in this format:




SETJMP(3)	    UNIX Programmer's Manual		SETJMP(3)



NNAAMMEE
     setjmp, longjmp - non-local goto

SSYYNNOOPPSSIISS
     ##iinncclluuddee <<sseettjjmmpp..hh>>

     sseettjjmmpp((eennvv))
     jjmmpp__bbuuff eennvv;;

     lloonnggjjmmpp((eennvv,, vvaall))
     jjmmpp__bbuuff eennvv;;

     __sseettjjmmpp((eennvv))
     jjmmpp__bbuuff eennvv;;

     __lloonnggjjmmpp((eennvv,, vvaall))
     jjmmpp__bbuuff eennvv;;

DDEESSCCRRIIPPTTIIOONN
     These routines are useful for dealing with errors and inter-
     rupts encountered in a low-level subroutine of a program.

     _S_e_t_j_m_p saves its stack environment in _e_n_v for later use by
     _l_o_n_g_j_m_p. It returns value 0.

     _L_o_n_g_j_m_p restores the environment saved by the last call of
     _s_e_t_j_m_p.  It then returns in such a way that execution con-
     tinues as if the call of _s_e_t_j_m_p had just returned the value
     _v_a_l to the function that invoked _s_e_t_j_m_p, which must not
     itself have returned in the interim.  All accessible data
     have values as of the time _l_o_n_g_j_m_p was called.

     _S_e_t_j_m_p and _l_o_n_g_j_m_p save and restore the signal mask _s_i_g_-
     _m_a_s_k(2), while __s_e_t_j_m_p and __l_o_n_g_j_m_p manipulate only the C
     stack and registers.

EERRRROORRSS
     If the contents of the jjmmpp__bbuuff are corrupted, or correspond
     to an environment that has already returned, _l_o_n_g_j_m_p calls
     the routine _l_o_n_g_j_m_p_e_r_r_o_r.	If _l_o_n_g_j_m_p_e_r_r_o_r returns the pro-
     gram is aborted.  The default version of _l_o_n_g_j_m_p_e_r_r_o_r prints
     the message ``longjmp botch'' to standard error and returns.
     User programs wishing to exit more gracefully can write
     their own versions of _l_o_n_g_j_m_p_e_r_r_o_r.

SSEEEE AALLSSOO
     sigvec(2), sigstack(2), signal(3)








Printed 7/9/88		 January 9, 1986			1