#include #include int main() { volatile int i = 0; sigjmp_buf buf; int ret = sigsetjmp(buf, 1); // almacena máscara de señales switch (ret) { case 0 : printf("|-> "); break; // primer retorno case 1 : printf("--> "); break; // segundo retorno default: printf("Error: sigsetjmp(buf, 1) = %i\n", ret); break; } printf("%i ", i); i = i + 1; if (i < 5) siglongjmp(buf, 1 /* no cero */); // salto no local puts(""); }