Section: Funciones de biblioteca (3)
Updated: 2 Marzo 1998
Index Return to Main
Contents
longjmp, siglongjmp - salto no local a un contexto de pila salvaguardado
void longjmp(jmp_buf env, int val); void siglongjmp(sigjmp_buf env, int val);
y setjmp() son útiles para tratar con errores e interrupciones encontrados en una subrutina de bajo nivel de un programa. longjmp() restaura el entorno salvaguardado por la última llamada a setjmp() con el argumento env correspondiente. Después de que longjmp() haya acabado, la ejecución del programa continúa como si la llamada correspondiente a setjmp() simplemente hubiera devuelto el valor val. longjmp() no puede hacer que se devuelva 0. Si se llama a longjmp() con un segundo argumento de valor 0, se devuelve 1 en su lugar.
siglongjmp() es similar a longjmp() excepto en el tipo de su argumento env. Si la llamada a sigsetjmp() que establece este env empleó una opción savesigs distinta de cero, siglongjmp() también restaura el conjunto de señales bloqueadas.
Estas funciones nunca regresan.
POSIX. longjmp también está definida por C ANSI/ISO.
POSIX no especifica si longjmp restaurará el contexto de señal. Si quiere salvaguardar y restaurar máscaras de señales, emplee siglongjmp. longjmp() y siglongjmp() hace que los programas sean difíciles de entender y mantener. Si es posible se debería emplear algún mecanismo alternativo.
(3), sigsetjmp(3)
This document was created by man2html, using
the manual pages.
Time: 06:16:26 GMT, January 22, 2005