時間制限のあるプログラムが必要です。
そこで、alarm() 関数を使用して制限時間内にプログラムを終了しました。
しかし、同期に問題があります。
私のプログラムにはクリティカルセクションがあるため、クリティカルセクション内でタイムアウトが発生した場合、クリティカルセクションの後にアラームを延期したいと考えています。
このような:
main() {
alarm(5);
...
disable_alarm();
//critical section; program shouldn't exit during this section
{...}
enable_alarm(); //if alarm happens during it's disabled, program must exit here.
...
}
disable_alarm()
この場合、とにはどの関数を使用すればよいでしょうかenable_alarm()
。