SIGVTALRM
을 setitimer
으로 보내려고하는데 왜 작동하지 않는지 잘 모릅니다.SIGVTALRM 신호를 수신 중입니다.
void time(int time) {
cout << "time" << endl;
exit(0);
}
int main(void) {
signal(SIGVTALRM, time);
itimerval tv;
tv.it_value.tv_sec = 5;
tv.it_value.tv_usec = 0;
tv.it_interval.tv_sec = 5;
tv.it_interval.tv_usec = 0;
setitimer(ITIMER_VIRTUAL, &tv, NULL);
while (true) {
cout << "waiting" << endl;
}
return 0;
}
어떤 이유가 time()
호출되지 않습니다 - 그것은 신호를 잡을하지 않거나 신호가 처음에 전송되지 않았기 때문에 나도 몰라 때문이다 : 여기 내 코드입니다.
아주 간단해야합니다. 어떤 아이디어? 감사합니다
당신이 "작동하지 않는"으로 무엇을 의미? 그것은 조금 일반 :) – Aslan986
사실, 나는 질문을 편집했습니다. 그것은 결코 들어 가지 않습니다(), 그래서 나는 아마 신호를 잡아 내지 않는다고 생각합니다. – yotamoo