From: nobu.nakada@... Date: 2003-12-04T13:44:30+09:00 Subject: [ruby-dev:22132] drb test failure なかだです。 drbのテストがたまに失敗します。 1) Failure: test_03(TestDRbUNIXCore) [/home/nobu/src/ruby/1.8/test/drb/drbtest.rb:129]: exception expected but was Class: Message: <"Broken pipe - /tmp/druby11439.0"> ---Backtrace--- /home/nobu/src/ruby/1.8/lib/drb/drb.rb:584:in `write' /home/nobu/src/ruby/1.8/lib/drb/drb.rb:584:in `send_request' /home/nobu/src/ruby/1.8/lib/drb/drb.rb:845:in `send_request' /home/nobu/src/ruby/1.8/lib/drb/drb.rb:1085:in `send_message' /home/nobu/src/ruby/1.8/lib/drb/drb.rb:1011:in `method_missing' /home/nobu/src/ruby/1.8/lib/drb/drb.rb:1010:in `open' /home/nobu/src/ruby/1.8/lib/drb/drb.rb:1010:in `method_missing' /home/nobu/src/ruby/1.8/test/drb/drbtest.rb:130:in `test_03' /home/nobu/src/ruby/1.8/test/drb/drbtest.rb:129:in `assert_raises' /home/nobu/src/ruby/1.8/test/drb/drbtest.rb:129:in `test_03' --------------- 読み込み同様、書き込みもDRbConnErrorを上げ直すべきなのでは。 * lib/drb/drb.rb (DRb::DRbMessage::send_request, send_reply): should rescue errors and re-raise DRbConnError on write too. Index: lib/drb/drb.rb =================================================================== RCS file: /cvs/ruby/src/ruby/lib/drb/drb.rb,v retrieving revision 1.10 diff -u -2 -p -d -r1.10 drb.rb --- lib/drb/drb.rb 3 Dec 2003 10:37:03 -0000 1.10 +++ lib/drb/drb.rb 4 Dec 2003 04:07:24 -0000 @@ -583,4 +583,6 @@ module DRb ary.push(dump(b)) stream.write(ary.join('')) + rescue + raise(DRbConnError, $!.message, $!.backtrace) end @@ -601,4 +603,6 @@ module DRb def send_reply(stream, succ, result) # :nodoc: stream.write(dump(succ) + dump(result)) + rescue + raise(DRbConnError, $!.message, $!.backtrace) end -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦