【发布时间】:2014-08-30 14:39:43
【问题描述】:
这段代码有问题..
我需要等待(sigwait)一个进程,直到到达两个信号SIGUSR1/SIGUSR2(也许我可以使用sigalrm来捕捉信号?)
#include <signal.h>
#include <stdio.h>
int main()
{
sigset_t set;
int sig;
sigemptyset(&set);
sigaddset(&set, SIGUSR1);
sigaddset(&set, SIGUSR2);
sigprocmask(SIG_BLOCK, &set, NULL);
sigwait(&set, &sig);
printf("Got signal %d\n", sig);
/*need to set Sigalrm?*/
return 0;
}
【问题讨论】:
-
您要等到收到 both 信号吗?还是两者之一?
-
到达 sigusr1 或 sigusr2 并不重要,只是其中之一..谢谢!