1 2 3 4 5 6 7 8 9 10 11
#include <setjmp.h> #include <signal.h> #include <stdlib.h> #include "syscall.h" void siglongjmp(sigjmp_buf buf, int ret) { if (buf->__fl) __syscall(SYS_rt_sigprocmask, SIG_SETMASK, buf->__ss, 0, __SYSCALL_SSLEN); longjmp(buf->__jb, ret); }