LONGJMP(3) Linux Programmer's Manual LONGJMP(3) NAME longjmp, siglongjmp - nonlocal jump to a saved stack context SYNOPSIS #include <setjmp.h> void longjmp(jmp_buf env, int val); void siglongjmp(sigjmp_buf env, int val); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): siglongjmp(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_C_SOURCE DESCRIPTION longjmp() and setjmp(3) are useful for dealing with errors and inter- rupts encountered in a low-level subroutine of a program. longjmp() restores the environment saved by the last call of setjmp(3) with the corresponding env argument. After longjmp() is completed, program exe- cution continues as if the corresponding call of setjmp(3) had just returned the value val. longjmp() cannot cause 0 to be returned. If longjmp() is invoked with a second argument of 0, 1 will be returned instead. siglongjmp() is similar to longjmp() except for the type of its env argument. If, and only if, the sigsetjmp(3) call that set this env used a nonzero savesigs flag, siglongjmp() also restores the signal mask that was saved by sigsetjmp(3). RETURN VALUE These functions never return. CONFORMING TO C89, C99, and POSIX.1-2001 specify longjmp(). POSIX.1-2001 specifies siglongjmp(). NOTES POSIX does not specify whether longjmp() will restore the signal con- text (see setjmp(3) for some more details). If you want to portably save and restore signal masks, use sigsetjmp(3) and siglongjmp(). The values of automatic variables are unspecified after a call to longjmp() if they meet all the following criteria: o they are local to the function that made the corresponding setjmp(3) call; o their values are changed between the calls to setjmp(3) and longjmp(); and o they are not declared as volatile. Analogous remarks apply for siglongjmp(). longjmp() and siglongjmp() make programs hard to understand and main- tain. If possible, an alternative should be used. SEE ALSO setjmp(3), sigsetjmp(3) COLOPHON This page is part of release 3.74 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/. 2009-01-13 LONGJMP(3)
Czas wygenerowania: 0.00012 sek.
Created with the man page lookup class by Andrew Collington.
Based on a C man page viewer by Vadim Pavlov
Unicode soft-hyphen fix (as used by RedHat) by Dan Edwards
Some optimisations by Eli Argon
Caching idea and code contribution by James Richardson
Copyright © 2003-2023 Linux.pl
Hosted by Hosting Linux.pl