test() という関数が 1 つあります。この関数を 30 秒ごとに呼び出したいです。実装したコード スニペットを見つけてください。
void init_sigaction(void) {
struct sigaction act;
act.sa_handler = test; //test()
act.sa_flags = 0;
sigemptyset(&act.sa_mask);
sigaction(SIGPROF, &act, NULL);
}
void init_time(void) {
struct itimerval val;
val.it_value.tv_sec = 30; //Timer 30 Seconds
val.it_value.tv_usec = 0;
val.it_interval = val.it_value;
setitimer(ITIMER_PROF, &val, NULL);
}
int main()
{
/*Set the handler for the signal SIG to HANDLER */
signal(SIGINT, signal_handler);
init_sigaction();
init_time();
Some_other_function();
}
現在、他の関数を使用していますが、他の関数が実行されるまでsigactionタイマーを一時停止したいと考えています。一時停止の割り込みを実装するにはどうすればよいですか?
ありがとう、