Linux repositories inspector
Linux
Aliases: longjmp(3), longjmp(3), longjmp(3), longjmp(3), longjmp(3), longjmp(3), longjmp(3), siglongjmp(3), siglongjmp(3), siglongjmp(3), siglongjmp(3), siglongjmp(3), siglongjmp(3), siglongjmp(3), sigsetjmp(3), sigsetjmp(3), sigsetjmp(3), sigsetjmp(3), sigsetjmp(3), sigsetjmp(3), sigsetjmp(3), sigsetjmp(3), sigsetjmp(3), sigsetjmp(3), sigsetjmp(3), sigsetjmp(3)

manpages-es

Spanish man pages

man-pages-es

Spanish man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

NOMBRE

setjmp, sigsetjmp - guardan el contexto de pila para saltos no locales

SINOPSIS

#include <setjmp.h>
int setjmp(jmp_buf env);
int sigsetjmp(sigjmp_buf env, int savesigs);

DESCRIPCIÓN

Las funciones setjmp() y longjmp() son útiles para tratar con errores e interrupciones encontradas en una subrutina de bajo nivel de un programa. setjmp() guarda el entorno/contexto de pila en env para un uso posterior de longjmp(). El contexto de pila será invalidado si la función que llamó a setjmp() regresa.
sigsetjmp() es similar a setjmp(). Si savesigs es distinto de cero, el conjunto de señales bloqueadas se guarda en env y será restaurado si se llama más tarde a siglongjmp() con este env.

VALOR DEVUELTO

setjmp() y sigsetjmp() devuelven 0 si regresan directamente, y no-cero cuando regresan desde longjmp() usando el contexto previamente salvaguardado.

CONFORME A

POSIX, ISO 9899 (C99)

OBSERVACIONES

POSIX no especifica si setjmp guardará el contexto de señales. (En SYSV no lo hará. En BSD4.3 sí, y hay una función _setjmp que no lo hará). Si quiere guardar las máscaras de señales, use sigsetjmp.
setjmp() y sigsetjmp hacen que los programas sean difíciles de entender y mantener. Si es posible busque otra alternativa.

VÉASE TAMBIÉN

⇧ Top