目录
一、信号阻塞与信号未决
二、pause(2)的使用
三、信号传送过程处理
四、可重入函数
五、编写代码实现信号处理函数的继承
六、setitimer实现定时器
四、可重入函数
函数使用的变量空间全部分配在栈帧空间中,这样的函数叫做可重入函数。否则成为不可重乳函数。
信号处理函数,尽量保证为可重入函数。
#include<stdio.h> #include<signal.h> #include<unistd.h> void doit(int n){ int v; static int c=0; v=c; v++; usleep(5000); c=v; printf("c=%d ",c); return; } int main(void){ signal(2,doit); while(1){ doit(2); } return 0; }
代码中,while循环和2号信号处理函数都调用了doit,都对c进行了读写