发布时间: 2013-07-11 15:38:46 作者: rapoo
信号屏蔽字在中断信号引起的信号处理函数中对信号屏蔽字进行修改操作,中断返回后为什么没有效果???希望高手指点。。。谢谢 中断???信号屏蔽字 [解决办法]IRET指令会恢复中断标志位的说。[解决办法]看看apue[解决办法]可以参考http://learn.akae.cn/media/ch33s04.html
Quote: 引用:你要什么效果,有代码吗?void sig_int(int signo){printf("I am in!\n");sigset_t s;sigemptyset(&s);if(sigprocmask(SIG_SETMASK, &s, NULL) < 0)perror("sigprocmask");printf("over\n");}int main(void){struct sigaction newact, oldact;newact.sa_handler = sig_int;sigemptyset(&newact.sa_mask);newact.sa_flags = 0;sigaction(SIGQUIT, &newact, &oldact);while(1){sigpending(&p);perror("sigpending");printsigset(&p);sleep(1);}return 0;}在信号处理函数里我想更改信号屏蔽字,来观察对原函数屏蔽字的影响。我不明白这个信号处理函数与原函数是两个控制流成,为什么进程号和线程号都相同?各种乱。。。希望老师能够指点迷津。谢谢老师!!
你要什么效果,有代码吗?
一事不明关于main函数return 零
看起来像函数定义但没有参数列表;跳
使用typedef定义结构体解决思路
求教赋值有关问题
C中\t跟\n 的区别
pScanInfo-gt;last_file_path3的内容为啥
获得CPU电扇转速
char*和char[][]的有关问题
c语言中的关键字小结
malloc 有关问题 求解