在sigaction函数里提到,struct sigaction的sa_mask字段说明了一个信号集,在调用该信号捕捉函数之前,这一信号集要添加到进程的信号屏蔽字中,仅当从信号捕捉函数返回时再将进程的信号屏蔽字复位为原先值
当在信号捕捉函数中调用longjmp跳出信号处理程序时,由于这是一种不正常的返回,所以此时进程的信号屏蔽字是未定义的,所以,需要一种新的函数来实现“当调用 longjmp跳出信号处理函数时能恢复到进程原先的信号屏蔽字(调用信号捕捉函数前的值)“,于是sigsetjmp和siglongjmp应运而生了.
阅读(1474) | 评论(0) | 转发(0) |