#include #include static volatile long cnt = 1000000; sigjmp_buf jb; void handle(int s) { if (!cnt--) return; raise(s); siglongjmp(jb, 1); } int main() { if (sigsetjmp(jb, 1)) return 0; signal(SIGALRM, handle); raise(SIGALRM); }