setitimer
関数を使用して、struct itimerval
へのポインタを使用してITIMER_VIRTUAL
タイマーを設定しています。これは仮想タイマーです(プロセスが制御権を持っている場合にのみ実行されます)、0に達するとSIGVTALRM
シグナルが送信されます。 私の質問は - setitimer
を呼び出した後、アクティブなタイマーを無効にする方法があるので、タイマーが終了したらこの信号は消えませんか?それを無視する唯一の方法は、この信号を無視するようにプログラムに指示する信号マスクを設定することですか?アクティブなitimerを無効にする
ありがとうございます!
お返事ありがとうございます。私の問題は、別の 'struct itimerval'を使って' setitimer() 'を呼び出してタイマーを無効にしようとしたことが原因であることが判明しました。そのit_valueはゼロに設定されています。代わりに、私は元の 'struct itimerval'の' it_value'をゼロに変更し、 'setitimer()'関数をリセットするだけでした。 – Mosheke