函数setjmp,longjmp和sigsetjmp,siglongjmp
int sigsetjmp(sigjmp_buf env,int savemask);
返回值:若直接调用则返回0,若从siglongjmp调用返回则返回非0值;
int siglongjmp(sigjmp_buf env,int val);
setjmp和longjmp的使用如下:
也可以用在sleep函数中:
sigsetjmp和siglongjmp使用基本相同,只是siglongjmp比setjmp多一个参数,若savemask为非0值,则sigsetjmp在env中保存进程的当前屏蔽字。若调用siglongjmp时,如果带非0 savemask的sigsetjmp调用已经保存了env,则siglongjmp从其中回复保存的信号屏蔽字。