请大家帮我解释一下 sigsetjmp()和siglongjmp()这两个函数的具体用法 在什么情况下用这两个函数 谢谢
by nicolas kan - Linux论坛 - 2004-03-05 00:46:17 阅读(553) 回复(0)
在《UNIX环境高级编程》第十章 信号 中提到: int sigsetjmp(sigjmp_buf env , int savemask) ; 返回:若直接调用则为0,若从s i g l o n g j m p调用返回则为非0 void siglongjmp(sigjmp_buf env, int val); s i g s e t j m p和s i g l o n g j m p这两个函数和s e t j m p,l o n g j m p之间的唯一区别是s i g s e t j m p增加了一个参数。如果s a v e m a s k非0,则s i g s e t j m p在e n v中保存进程的当前信号屏蔽字。...
请问各位大侠, 在父进程中创建信号集, 在子进程中使用了sigsetjmp, siglongjmp进程了程序的控制,~~~~~请问在siglongjmp后如何来处理信号~~~我查过资料就是将sigsetjmp的第二个参数设成非零即可,可是我设了不管用,还是捕获不到信号, 忘各位大侠不吝赐教.
以下是一个简单的GTKdemo程序,在RedHat9.0(内核2.4.20)下运行正常,在Fedora-6(内核2.6.18)下,一旦从siglongjmp回到sigsetjmpGTK就不能响应按键事件,也就是说,key_handler不工作了。不能响应按键事件。百思不得其解,是否sigsetjmp函数在较高的内核版本上支持不好,请高手赐教!
#include