Provided by: manpages-es_1.55-10_all bug

NOMBRE

       longjmp, siglongjmp - salto no local a un contexto de pila salvaguardado

SINOPSIS

       #include <setjmp.h>

       void longjmp(jmp_buf env, int val);
       void siglongjmp(sigjmp_buf env, int val);

DESCRIPCIÓN

       longjmp()  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.

VALOR DEVUELTO

       Estas funciones nunca regresan.

CONFORMES CON

       POSIX. longjmp también está definida por C ANSI/ISO.

OBSERVACIONES

       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.

VÉASE TAMBIÉN

       setjmp(3), sigsetjmp(3)

                                                  2 Marzo 1997                                        LONGJMP(3)