信号类程序的同步机制
发布时间
阅读量:
阅读量
一、多进程环境下信号同步机制的实现:
以signal interrupt为例,探讨其在避免竞争条件方面的应用
接下来观察如下示例:
#include "csapp.h"
void handler(int sig)
{
int olderrno = errno;
sigset_t mask_all, prev_all;
pid_t pid;
Sigfillset(&mask_all);
while((pid = waitpid(-1, NULL, 0)) > 0) { /* Reap a zombie child */
Sigprocmask(SIG_BLOCK, &mask_all, &prev_all);
deletejob(pid); /* Delete the child from the job list */
Sigprocmask(SIG_SETMASK, &prev_all, NULL);
}
if(errno != ECHILD)
全部评论 (0)
还没有任何评论哟~
