aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-04-14 18:14:25 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-04-14 18:14:25 +0000
commit6ac9e68c44cf0b2773547ca0381c37d2527a3c2a (patch)
tree0381f37ac90aa3cc9a9d249a808dff1a961679ea /test
parenta0b1f5f003b664b2c8ae57b3d58b29bf277eab28 (diff)
downloadruby-6ac9e68c44cf0b2773547ca0381c37d2527a3c2a.tar.gz
more explicit synchronization.
* test/ruby/test_io.rb (test_race_closed_stream): wait for blocking by r.gets. On some systems (for example, high load average systems) can't start Thread correctly and can't wait r.gets in invoked Thread. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_io.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb
index ac7570a2b3..c9b7de9181 100644
--- a/test/ruby/test_io.rb
+++ b/test/ruby/test_io.rb
@@ -3400,16 +3400,19 @@ __END__
def test_race_closed_stream
bug13158 = '[ruby-core:79262] [Bug #13158]'
closed = nil
+ q = Queue.new
IO.pipe do |r, w|
thread = Thread.new do
begin
+ q << true
while r.gets
end
ensure
closed = r.closed?
end
end
- sleep 0.01
+ q.pop
+ sleep 0.1 # wait for blocking by r.gets
r.close
assert_raise_with_message(IOError, /stream closed/) do
thread.join