From: "U.Nakamura" <usa@...> Date: 2009-08-19T16:35:56+09:00 Subject: [ruby-dev:39128] Re: [Bug #1952] cannot stop with Ctrl+C こんにちは、なかむら(う)です。 In message "[ruby-dev:39127] Re: [Bug #1952] cannot stop with Ctrl+C" on Aug.19,2009 16:00:28, <matz@ruby-lang.org> wrote: > うーん、ensureでraiseしたり、その外でrescueでretryしたりして > いるわけですから、無限ループそのものは「意図通り」なのではな > いでしょうか。むしろ、raiseがTAG_FAGALで飛ぶ方が気持ちが悪い > です。 私としてはTAG_FATALが握りつぶし可能であることの方が気持ちが悪 いです。 つまり、いかなる方法でensure節が終了した場合(raiseだろうがreturn だろうがend到達だろうが)も、TAG_FATALとしての処理を続行すべき ではないか、ということです。 私の元の文面がよくありませんでしたが、TAG_RAISEでないTAG_FATAL な例外を発生させる、という意図はありません。 こういう言い方だと「気持ちが悪」くなくなるでしょうか? それとも、「意図通り」のはずの無限ループが中断されることが「 気持ちが悪い」のでしょうか? > これはmain threadが他スレッド待ちの間に割り込みが効かない方を > 直すべきではないでしょうか。 それで1.8と同じ(2回Ctrl+Cでスクリプトを終了できる)にはなりま すね。 それでは。 -- U.Nakamura <usa@garbagecollect.jp>