分类: LINUX
2008-11-06 18:38:30
本文主要参考《unix环境高级编程》
这个函数应该是我看过最复杂的函数吧,最少到现在是(其实我也没看过多少代码--)。
|
讲点我的理解:首先函数signal有两个参数,返回一个函数指针
第一个参数signo是一个整数,一般把具体什么信号传给他,第二个参数是函数指针,他是指向新的信号处理函数。
返回值可以理解成返回调用signal之前的signo里面信号对应的信号处理函数。
如果使用typedef,简化后的signal函数更容易理解:
|
在头文件
|
当不是SIG_DFL,SIG_IGN,而且指定函数地址,那么信号发生时,调用此函数。
例程看apue上p241的程序清单10-1;
我只是想将一下我的理解:首先在主程序中把你关心的信号通过调用signal函数,发生对应事件后向主程序发送信号,然后中断执行信号处理程序。(暂时我理解就是这样的,可能还不够准确吧)。