Annotation of cci/usr/src/man/man3/setjmp.3, revision 1.1

1.1     ! root        1: .TH SETJMP 3 "19 January 1983"
        !             2: .UC 4
        !             3: .SH NAME
        !             4: setjmp, longjmp \- non-local goto
        !             5: .SH SYNOPSIS
        !             6: .nf
        !             7: .B #include <setjmp.h>
        !             8: .PP
        !             9: .B setjmp(env)
        !            10: .B jmp_buf env;
        !            11: .PP
        !            12: .B longjmp(env, val)
        !            13: .B jmp_buf env;
        !            14: .PP
        !            15: .B _setjmp(env)
        !            16: .B jmp_buf env;
        !            17: .PP
        !            18: .B _longjmp(env, val)
        !            19: .B jmp_buf env;
        !            20: .fi
        !            21: .SH DESCRIPTION
        !            22: These routines are useful for dealing with errors 
        !            23: and interrupts encountered in
        !            24: a low-level subroutine of a program.
        !            25: .PP
        !            26: .I Setjmp 
        !            27: saves its stack environment in
        !            28: .I env
        !            29: for later use by
        !            30: .I longjmp.
        !            31: It returns value 0.
        !            32: .PP
        !            33: .I Longjmp
        !            34: restores the environment saved by the last call of
        !            35: .IR setjmp .
        !            36: It then returns in such a way that execution
        !            37: continues as if the call of 
        !            38: .I setjmp
        !            39: had just returned the value
        !            40: .I val
        !            41: to the function that invoked
        !            42: .I setjmp,
        !            43: which must not itself have returned in the interim.
        !            44: All accessible data have values as of the time
        !            45: .I longjmp
        !            46: was called.
        !            47: .PP
        !            48: .I Setjmp
        !            49: and
        !            50: .I longjmp
        !            51: save and restore the signal mask
        !            52: .IR sigmask (2),
        !            53: while
        !            54: .I _setjmp
        !            55: and
        !            56: .I _longjmp
        !            57: manipulate only the C stack and registers.
        !            58: .SH "SEE ALSO"
        !            59: sigvec(2), sigstack(2), signal(3)
        !            60: .SH BUGS
        !            61: .I Setjmp
        !            62: does not save current notion of whether the process is
        !            63: executing on the signal stack.  The result is that a
        !            64: longjmp to some place on the signal stack leaves the
        !            65: signal stack state incorrect.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.