From a6242670f358b55ef075f13dae325b64e9a55e5f Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 5 May 2010 02:43:15 +0000 Subject: [PATCH] * bootstraptest/test_io.rb (megacontent-copy_stream): get rid of deadlock. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ bootstraptest/test_io.rb | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 944bdd2d10..4729a7c5bc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed May 5 11:43:10 2010 Nobuyoshi Nakada + + * bootstraptest/test_io.rb (megacontent-copy_stream): get rid of + deadlock. + Wed May 5 07:27:14 2010 Nobuyoshi Nakada * gc.c (rb_mark_method_entry): renamed. diff --git a/bootstraptest/test_io.rb b/bootstraptest/test_io.rb index d2e02a0659..7304aebc26 100644 --- a/bootstraptest/test_io.rb +++ b/bootstraptest/test_io.rb @@ -78,7 +78,7 @@ assert_normal_exit %q{ ARGF.set_encoding "foo" } -1.times do +10.times do assert_normal_exit %q{ at_exit { p :foo } @@ -90,11 +90,13 @@ assert_normal_exit %q{ r1, w1 = IO.pipe r2, w2 = IO.pipe t1 = Thread.new { w1 << megacontent; w1.close } - t2 = Thread.new { r2.read } + t2 = Thread.new { r2.read; r2.close } IO.copy_stream(r1, w2) rescue nil - r2.close; w2.close - r1.close; w1.close - }, '', ["INT"] or break + w2.close + r1.close + t1.join + t2.join + }, 'megacontent-copy_stream', ["INT"], :timeout => 10 or break end assert_normal_exit %q{