- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Solaris10 スレッドでのタイマー割り込みについて)
Solaris10 スレッドでのタイマー割り込みについて
このQ&Aのポイント
- Solaris10でスレッドごとのアラームのサポート中止が出ており、socket通信中のreadでタイマーを張りたい場合、どうすればいいのか。
- 要件はSolaris10、スレッド、C言語、socket-readでの3秒でのタイムアウト実現。
- Solaris/POSIXスレッドを使用している方はどのように対処しているか、その解決策を教えてほしい。タイマースレッドを作成するしかないのか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Solaris8で、スレッドは使用していないのですが、 read()する前に、 select()で、I/Oの同期を確認し、 ここでタイムアウトを取得するように処理していました。
お礼
ありがとうございます。そうですねselect()もMT-Safeなのでreadには効果ありですね。 どうもありがとうございます。 実は相手サーバが詰まっていた場合などでwrite()にもタイマーを張りたいのです。 select()やpoll()は受信可能になったときですよね。 alarm()のような使い方を想定しているのですが・・・。 select参考にさせていただきます。
補足
select()でもwritefdに使えそうなのでいけそうですね。これを使ってみます。 ありがとうございました。