From: "authorNari (Narihiro Nakamura)" Date: 2012-11-28T16:34:42+09:00 Subject: [ruby-dev:46649] [ruby-trunk - Bug #7452] Main thread is stopped after running finalizers if the main thread has a finalizer Issue #7452 has been updated by authorNari (Narihiro Nakamura). メインスレッドにファイナライザを登録できないようなパッチになっているようですが、ファイナライザ実行後に止まってしまうことが問題の本質のように思います。 なんで止まってしまうのでしょうね…。 ---------------------------------------- Bug #7452: Main thread is stopped after running finalizers if the main thread has a finalizer https://bugs.ruby-lang.org/issues/7452#change-34075 Author: mrkn (Kenta Murata) Status: Assigned Priority: Normal Assignee: authorNari (Narihiro Nakamura) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-11-28 trunk 37923) [x86_64-darwin11.4.2] 以下のようにメインスレッドにファイナライザを登録すると、ファイナライザ実行後に止まってしまいます。 ObjectSpace.define_finalizer(Thread.main) {} trunk と ruby_1_9_3 ブランチの先頭で発生することを確認しています。 trunk は以下の gist に貼った patch で修正できました。 https://gist.github.com/4159481 1.9.3 は以下の gist に貼った patch で修正できました。 https://gist.github.com/4159480 -- http://bugs.ruby-lang.org/