【发布时间】:2011-09-01 23:33:18
【问题描述】:
我有一个进程p 向SIGALRM 的信号处理程序注册。设置了一个定时器来周期性地发送信号SIGALRM 来处理p。还有多个线程在进程p 中运行。信号处理程序在被触发和执行时是否不可抢占?或者说,是不是signal handler的执行不会被进程中的任何线程中断p?
PS:我认为信号处理程序是在内核中执行的(是吗?)并且内核对用户模式线程是不可抢占的?有不对的地方请指正...
【问题讨论】:
-
它可以被抢占——信号处理程序代码没有什么特别之处。
-
内核是抢占式的。它总是有事可做。
标签: multithreading operating-system signal-handling