-1
的什么,我试图做的主要思路:强制报警处理程序被调用每1秒(在C)
我的目标是,alarm_handler将被称为每隔1秒,尽管其他信号(在这种情况下,SIGUSR2)。为此,我在暂停()语句之前编写了警报(1)。
但是,实际情况是,如果我多次接收SIGUSR2信号,alarm_handler永远不会被调用(虽然我确实希望每隔1秒调用一次)。
注意:我不想忽略SIGUSR2信号。我希望他们完成,但我必须确保alarm_handler每1秒完成一次。
这里是主要的:
int main(int argc, const char* argv[])
{
signal(SIGUSR2, sig_readPipe);
signal(SIGALRM, alarm_handler);
do
{
alarm(1);
pause();
}while(stopFlag);
return 0;
}
这里是信号处理程序:
void sig_readPipe(int sig)
{
signal(SIGUSR2, sig_readPipe);
.
.
.
}
void alarm_handler(int sig)
{
signal(SIGALRM, alarm_handler);
.
.
.
}
如何设置一个计数器到全球时间? – Jjang 2013-04-21 15:38:20
没有为我工作..你能写出它应该怎么做? – Jjang 2013-04-21 15:58:22