-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