sigsuspend的整个原子操作过程为:
(1) 设置新的mask阻塞当前进程;
(2) 收到信号,恢复原先mask;
(3) 调用该进程设置的信号处理函数;
(4) 待信号处理函数返回后,sigsuspend返回。
本文通过一个具体的C++程序示例介绍了如何使用sigsuspend函数实现进程间的信号等待与通知。程序展示了父进程与子进程间利用SIGUSR1和SIGUSR2信号进行通信的过程。
sigsuspend的整个原子操作过程为:
(1) 设置新的mask阻塞当前进程;
(2) 收到信号,恢复原先mask;
(3) 调用该进程设置的信号处理函数;
(4) 待信号处理函数返回后,sigsuspend返回。

被折叠的 条评论
为什么被折叠?