当前位置: 技术问答>linux和unix
问下,关于信号的
来源: 互联网 发布时间:2016-03-16
本文导语: 在子进程挂掉的时候,父进程会收到SIGCHLD信号,然后我可以调用信号处理函数, 现在我的这个信号处理函数会对块地方进行pv操作,可是如果在pv操作中间又有个SIGCHLD信号来了,这样会嵌套吗?还是等我处理完了这...
在子进程挂掉的时候,父进程会收到SIGCHLD信号,然后我可以调用信号处理函数,
现在我的这个信号处理函数会对块地方进行pv操作,可是如果在pv操作中间又有个SIGCHLD信号来了,这样会嵌套吗?还是等我处理完了这个pv之后再处理后面来的信号呢?求教啊!!看来关于信号量的,他是针对不同的进程的,可这个是同1个进程啊。
现在我的这个信号处理函数会对块地方进行pv操作,可是如果在pv操作中间又有个SIGCHLD信号来了,这样会嵌套吗?还是等我处理完了这个pv之后再处理后面来的信号呢?求教啊!!看来关于信号量的,他是针对不同的进程的,可这个是同1个进程啊。
|
首先:LZ只要明白信号处理函数可以是不可重入的话,就没有这些担心了。当一个进程在执行信号处理函数时,通常会自动阻塞这个信号,直到信号处理程序结束。在处理此信号期间出现的另一个同样的信号不能中断正在执行的信号处理程序,所以不会出现信号嵌套的情况。
其次:对于信号丢失的问题,常规信号不排队,发送多个同样的信号,相应的进程只会接收到一个,也只会处理一个。如果要想接收每一个信号并处理它们,可以使用实时信号(RT signal)。
其次:对于信号丢失的问题,常规信号不排队,发送多个同样的信号,相应的进程只会接收到一个,也只会处理一个。如果要想接收每一个信号并处理它们,可以使用实时信号(RT signal)。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。