- 191 名前:名無しさん@お腹いっぱい。 [04/06/14 00:17.net]
- 処理時間が一定時間を越えた場合には、強制終了するように、スレッドとシグナルを使って、
以下のようなプログラムを組んでいます。 しかし、シグナルハンドラを無視(起動しない)もしくはシグナルの無効化ができません。 どうしたらよいでしょうか? ・初期設定 ・スレッドA起動 ( ---> シグナルハンドラ(SIGALRM)設定、インターバルタイマーセット ) ( ---> タイマー待ち ---> 時間が来たらハンドラ起動 ---> ハンドラ(abortで強制終了) ) ・処理B ・処理Bが時間内に終了 ・スレッドA終了処理 ( シグナルハンドラを再設定 ---> インターバルタイマーリセット ) ( スレッドAをキャンセル ) ・処理続行 このとき、シグナルハンドラの再設定し、スレッドAを終了させると、ALARM CLOCKで終了。 スレッドAを終了させて、なおかつ、ハンドラを起動させないようにするためにはどうしたら いいか教えてください。 なんか、Solarisの中味(システムコール?)について、よくわかってないので、変なこと書いてる かもしれませんが、よろしくお願いします。
|

|