关于信号处理的问题

时间:2022-02-12 22:33:11
大虾能不能具体谈谈sigsetjmp()这个函数的作用?及在何种情况下使用它?我在pppd代码中看到了这个函数,不明白它的作用,查了一些资料也稀里糊涂,故来这里求教!!!

1 个解决方案

#1


sigsetjmp
是直接跳转函数,你在程序内设置好跳转点后,在程序的任意地方都可以通过siglongjmp跳转到你设置的跳转
点.
一般用在从多层函数调用内的直接跳出,从信号句柄内直接跳转到相应的处理函数.设置跳转点就是保存栈环境,
跳转是就是直接恢复保存的栈环境.

另外还有setjmp,longjmp.

#1


sigsetjmp
是直接跳转函数,你在程序内设置好跳转点后,在程序的任意地方都可以通过siglongjmp跳转到你设置的跳转
点.
一般用在从多层函数调用内的直接跳出,从信号句柄内直接跳转到相应的处理函数.设置跳转点就是保存栈环境,
跳转是就是直接恢复保存的栈环境.

另外还有setjmp,longjmp.