けいじゅ@いしつかです.

ko1 / atdot.net wrote:

> Issue #13768 has been updated by ko1 (Koichi Sasada).
> これ、dead-lock の定義の問題なので、ちょっと議論が要るような気がして
> います。

signalで外部イベントをを待つのも, selectとかで外部入力を待っている(た
めにデッドロックしているように見える)のも外部から何らかの通知を待って
いることには変わらないと思いうのですが?

> > Signal.trapを設定していたら常にデッドロックではない、とすべきというところでしょうか。
> 
> いいんかな、これで。例えば、webrick 使ってたらデッドロック検出出来な
> いとか。

たしかに, SIGINTを設定しただけでデッドロックが検出できなくなるのも不便
かも知れません.

シグナルに関しては, そのあとの処理内容にもよるので, trap時に何らかの指
定をすれば, デッドロックの検出をしなくなるととか?

あとは, singanl専用のConditionVariable(SigCV)みたいなのを用意するとい
うのもあるかも.

待つ方は SigCVでwaitして, signalハンドラ側でSigCVにsignalする. デッド
ロック検知側はSigCV.waitで待っている場合はデッドロックとしない.

いかがでしょう? 仕様はもっとつめる必要があるとは思いますが?

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju / ishitsuka.com <<---