[#39548] [Bug #2291] Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる — Akira Matsuda <redmine@...>

Bug #2291: Net::FTPでソケットをオープンする前にbinary=を呼び出すと落ちる

10 messages 2009/10/27

[#39592] infinite recursive call to C function — Yusuke ENDOH <mame@...>

遠藤です。

17 messages 2009/10/30
[#39596] Re: infinite recursive call to C function — Yukihiro Matsumoto <matz@...> 2009/10/30

まつもと ゆきひろです

[#39599] Re: infinite recursive call to C function — Nobuyoshi Nakada <nobu@...> 2009/11/02

なかだです。

[#39601] Re: infinite recursive call to C function — Yukihiro Matsumoto <matz@...> 2009/11/02

まつもと ゆきひろです

[ruby-dev:39579] [Bug #2310] should ensure GVL_UNLOCK_END in rb_thread_blocking_region

From: _ wanabe <redmine@...>
Date: 2009-10-30 00:54:03 UTC
List: ruby-dev #39579
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]
#<NotImplementedError: sendmsg() function is unimplemented on this machine>
5  # <== CTRL+c を入力するまで表示されない


----------------------------------------
http://redmine.ruby-lang.org

In This Thread

Prev Next