From: Tomoyuki Chikanaga Date: 2010-11-06T21:55:31+09:00 Subject: [ruby-dev:42545] [Ruby 1.9-Bug#4027] Signal.trap で busy loop に陥る チケット #4027 が更新されました。 (by Tomoyuki Chikanaga) > というか、rb_get_next_signal() で rb_enable_interrpt() して、シグナル > マスクを全部外しているのは、とてもまずいような。というか、メインスレッド > のシグナルマスクが外れているのはこれが理由か...? たしかに rb_enable_interrupt() では問答無用で全てのシグナルマスクを外していますね。 直前のものに復旧したほうがいいでしょうか。 また rb_disable_interrupt() では SIGSEGV と SIGVTALRM はマスクしていないですが、ブロックするような処理をしているわけでもないので SIGVTALRM はマスクしていいのではないでしょうか。 今は問題の環境を触れないので、月曜日になったらこのあたり変更して再度やってみます。 ---------------------------------------- http://redmine.ruby-lang.org/issues/show/4027 ---------------------------------------- http://redmine.ruby-lang.org