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)