大家好 我想要使用的sigaction(),但是沒有成功 這是我的代碼:遇到問題使用的sigaction具有定時信號
int main()
{
struct sigaction act, oact;
act.sa_handler = (void *)g;
sigaction(SIGVTALRM,&act,&oact);
struct itimerval tv;
tv.it_value.tv_sec = 2; //time of first timer
tv.it_value.tv_usec = 0; //time of first timer
tv.it_interval.tv_sec = 2; //time of all timers but the first one
tv.it_interval.tv_usec = 0; //time of all timers but the first one
setitimer(ITIMER_VIRTUAL, &tv, NULL);
for (;;);
}
這是克():
void g(void){
printf("I'M NOT IN G!!");
for (;;);
}
當我運行代碼時,我陷入了第一次(;;)循環而沒有進入g()。 爲什麼我不能到g()如果我將它定義爲處理信號的函數?
謝謝
您對'sigaction'和'setitimer'的調用返回0(意味着沒有錯誤)?它看起來像這些函數的用法是正確的... – Jonathan 2011-03-15 19:36:01