- 论坛徽章:
- 0
|
20可用积分
问几个关于信号的问题:
1)若进程检测到此刻有两个实时信号(自定义的)需要处理,是先来先处理还是按照信号值的大小从大到小来处理?
我觉得应该是后者,因为此时内核没法知道这两个信号谁先来谁后来的,不知道对不对.
2)因为若进程在处理某个信号的时候会将相同的信号暂时屏蔽,所以可以避免相同信号的嵌套处理,但是不同的信号可以嵌套处理吗?
3)看下面的例子:
如果在一个信号(SIGA)的handle里面调用了某个系统调用,这个系统调用有系统空间返回的时候会检查此时有无未处理的信号,如果此时发现有(比如有SIGA,SIB,SIGC),怎么办?是等从这个handle中返回再处理其它的还是直接去处理其它信号的handle? |
最佳答案
查看完整内容
> 问几个关于信号的问题:> 1)若进程检测到此刻有两个实时信号(自定义的)需要处理,是先来先处理还是按照信号值的大小> 从大到小来处理?> 我觉得应该是后者,因为此时内核没法知道这两个信号谁先来谁后来的,不知道对不对.如果是realtime signal的话,应该是fifo的形式,因为kernel里用一个queue来存放收到的realtime signals. 传统的signal的话,应该是按signal number大小来处理的。> 2)因为若进程在处理某个信号的时候会将相同的信 ...
|