setjmp.3 - scc - simple c99 compiler
 (HTM) git clone git://git.simple-cc.org/scc
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
       setjmp.3 (1413B)
       ---
            1 .TH SETJMP 3
            2 .SH NAME
            3 setjmp - non-local jumps
            4 .SH SYNOPSIS
            5 #include <setjmp.h>
            6 
            7 .nf
            8 int setjmp(jmp_buf env)
            9 void longjmp(jmp_buf env, int val)
           10 .fi
           11 .SH DESCRIPTION
           12 The
           13 .BR setjmp ()
           14 function saves it calling environment in its argument
           15 .I env
           16 for later use by the
           17 .BR longjmp .
           18 
           19 The
           20 .BR longjmp ()
           21 function restores the environment saved
           22 by the most recent invocation of
           23 .B setjmp
           24 in the same invocation of the program
           25 with the corresponding
           26 .I env
           27 as argument.
           28 
           29 If there has been no such invocation,
           30 or if the function containing the invocation of
           31 .B setjmp
           32 has terminated execution,
           33 or if the invocation of
           34 .B setjmp
           35 was within the scope of an identifier with variably modified type
           36 and execution has left that scope in interim,
           37 the behavior is undefined.
           38 .SH RETURN VALUE
           39 If the return is from a direct invocation,
           40 .B setjmp
           41 shall return the value zero.
           42 If the return is from a call to
           43 .BR longjmp ,
           44 .B setjmp
           45 shall return a nonzero value.
           46 
           47 After the function
           48 .B longjmp
           49 is called,
           50 program execution continues as
           51 if the corresponding invocation of
           52 .B setjmp
           53 has just returned the value specified by
           54 .IR val .
           55 The function
           56 .B longjmp
           57 shall not cause the function
           58 .B setjmp
           59 to return the value 0.
           60 If
           61 .I val
           62 is set to 0,
           63 .B setjmp
           64 shall return the value 1.
           65 .SH STANDARDS
           66 .nf
           67 ISO/IEC 9899:1999 Section 7.13.1.1 Paragraph 1,2,3
           68 ISO/IEC 9899:1999 Section 7.13.2.1 Paragraph 1,2,3,4
           69 .fi
           70 .SH SEE ALSO
           71 .BR setjmp.h (3)