[#45518] [ruby-trunk - Bug #6302][Open] irb で math-mode 中でも conf.math_mode に nil を代入すると math-mode を抜ける事ができる — "sho-h (Sho Hashimoto)" <sho-h@...>
5 messages
2012/04/15
[#45530] [ruby-trunk - Feature #6311][Open] memmem()によるrb_memsearch()の高速化 — "Glass_saga (Masaki Matsushita)" <glass.saga@...>
12 messages
2012/04/17
[#45533] Re: [ruby-cvs:42559] naruse:r35383 (trunk): Revert r35339-35343 because of no tests. — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
6 messages
2012/04/18
[#45534] Re: [ruby-cvs:42559] naruse:r35383 (trunk): Revert r35339-35343 because of no tests.
— Hiroshi Nakamura <nahi@...>
2012/04/18
(2012/04/19 2:02), Yukihiro Matsumoto wrote:
[#45535] Re: [ruby-cvs:42559] naruse:r35383 (trunk): Revert r35339-35343 because of no tests.
— "NARUSE, Yui" <naruse@...>
2012/04/19
2012年4月19日6:10 Hiroshi Nakamura <nahi@ruby-lang.org>:
[#45541] drb SSL test timeout — Tanaka Akira <akr@...>
Debian wheezy において、test_drbssl.rb のテストで 100秒の timeout にひっかかります。
10 messages
2012/04/21
[#45542] Re: drb SSL test timeout
— Masatoshi SEKI <m_seki@...>
2012/04/21
咳といいます。
[#45547] Re: drb SSL test timeout
— Tanaka Akira <akr@...>
2012/04/22
2012年4月22日6:52 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>:
[#45548] Re: drb SSL test timeout
— Masatoshi SEKI <m_seki@...>
2012/04/22
咳といいます。
[#45571] [ruby-trunk - Feature #6349][Open] Iconv の復活を希望します — "kyanagi (Kouhei Yanagita)" <redmine@...>
7 messages
2012/04/24
[#45572] Re: [ruby-dev:45571] [ruby-trunk - Feature #6349][Open] Iconv の復活を希望します
— "Martin J. Dürst" <duerst@...>
2012/04/24
やなぎたさん、こんにちは。
[ruby-dev:45542] Re: drb SSL test timeout
From:
Masatoshi SEKI <m_seki@...>
Date:
2012-04-21 21:52:35 UTC
List:
ruby-dev #45542
咳といいます。
On 2012/04/22, at 2:43, Tanaka Akira wrote:
> Debian wheezy において、test_drbssl.rb のテストで 100秒の timeout にひっかかります。
> また、そのとき、プロセスが残ります。
> 調べたところ、TCP の accept に成功した後、SSL の accept に失敗しているようです。
> とりあえずその状況で TCP のソケットを close すれば、
> タイムアウトじゃなくてすみやかに失敗するようにできました。
>
> % svn diff --diff-cmd diff -x '-u -p'
> Index: lib/drb/ssl.rb
> ===================================================================
> --- lib/drb/ssl.rb (revision 35418)
> +++ lib/drb/ssl.rb (working copy)
> @@ -177,7 +177,11 @@ module DRb
> break if (@acl ? @acl.allow_socket?(soc) : true)
> soc.close
> end
> - ssl = @config.accept(soc)
> + begin
> + ssl = @config.accept(soc)
> + ensure
> + soc.close if $!
> + end
> self.class.new(uri, ssl, @config, true)
> rescue OpenSSL::SSL::SSLError
> warn("#{__FILE__}:#{__LINE__}: warning: #{$!.message}
> (#{$!.class})") if @config[:verbose]
>
> この状況で TCP のソケットを close することは正しい対処だとと思うのですが、いかがでしょうか。
正しいと思います。田中さんcommitしたいただけますか?
こういうensureと$!を組み合わせるのはとても面白いですね。
例外があがるのを妨げずに、例外に気付けるのかしら。
>
> なお、この変更後は下のように、実際の問題と思われる OpenSSL::SSL::SSLError でテストが失敗するようになります。
>
>
> あとこの変更では、プロセスが残るのはそのままです。
> drb が起動したプロセス (あるいは Process.detach が返したスレッド) を覚えていてくれると
> kill できるような気がするんですが、どうでしょうか。
すみません。どうしたらいいか考えます。