From: Yusuke ENDOH Date: 2011-06-24T22:27:59+09:00 Subject: [ruby-dev:43893] Re: [Ruby 1.9 - Bug #4072] dRubyで作成したサーバプログラムがsleepしていてもexitしてしまう 遠藤です。 2011年6月24日14:43 KOSAKI Motohiro : > ところで、話は変わるのですが thread.stopも process.sleep の「thread.run するまで > スリープする」と書いて有るのにシグナル受信したときの挙動が違うのはなぜなんでしょうね? > deadlock check作った遠藤さんに聞くべきなのかも知れませんが。 文脈を全く理解してないんですが、Thread.stop が deadlock 検出して Kernel# sleep がしないのはなぜか、という話? Thread.stop は別スレッドから Thread#run されるのを待つもの (なので他の スレッドも止まったらデッドロック) 、Kernel#sleep は別プロセスから Ctrl-C などでシグナルを受けるのを待つもの (なので他のスレッドが生きてようと死んで ようとデッドロックではない) 、という用途の違いを意識してそうしました。 [ruby-dev:35330] の前後にそんな感じの話題がちょっとだけあります。 全然違う話だったら無視してください。 -- Yusuke Endoh