From: _ wanabe Date: 2009-10-30T09:54:03+09:00 Subject: [ruby-dev:39579] [Bug #2310] should ensure GVL_UNLOCK_END in rb_thread_blocking_region Bug #2310: should ensure GVL_UNLOCK_END in rb_thread_blocking_region http://redmine.ruby-lang.org/issues/show/2310 起票者: _ wanabe ステータス: Open, 優先度: Normal カテゴリ: core, Target version: 1.9.x ruby -v: ruby 1.9.2dev (2009-10-29 trunk 25559) [i386-mingw32] rb_thread_blocking_region から呼び出された関数中で例外等の大域脱出が起きると GVL_UNLOCK_END 等の後処理が呼ばれません。 例えば、WindowsXP のような WSASendMsg がない環境では以下のようにすると固まります。 $ ruby -rsocket -ve 'begin UDPSocket.new.sendmsg "hoge";rescue Exception;p $!;end';echo $? ruby 1.9.2dev (2009-10-29 trunk 25559) [i386-mingw32] # 5 # <== CTRL+c を入力するまで表示されない ---------------------------------------- http://redmine.ruby-lang.org