* bootstraptest/test_io.rb: block write may block for long time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2009-07-21 16:36:41 +00:00
Родитель 09d18a1a8f
Коммит 300d60a8e4
2 изменённых файлов: 20 добавлений и 14 удалений

Просмотреть файл

@ -1,3 +1,7 @@
Wed Jul 22 01:20:54 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
* bootstraptest/test_io.rb: block write may block for long time.
Wed Jul 22 00:34:39 2009 Keiju Ishitsuka <keiju@ruby-lang.org>
* lib/irb.rb, lib/irb/init.rb, lib/irb/ext/save-history.rb: add
@ -14,7 +18,6 @@ Tue Jul 21 21:37:19 2009 Keiju Ishitsuka <keiju@ruby-lang.org>
* lib/irb/cmd/help.rb: fixed irb's "help" command. [ruby-core:22310].
Tue Jul 21 20:41:20 2009 Keiju Ishitsuka <keiju@ruby-lang.org>
* lib/tracer.rb: no show lines unkonwn line number. [ruby-core:22096],
no trace display c-call and c-return as default.

Просмотреть файл

@ -11,19 +11,22 @@ assert_finish 5, %q{
assert_finish 10, %q{
begin
require "io/nonblock"
r, w = IO.pipe
w.nonblock = true
w.write_nonblock("a" * 100000)
w.nonblock = false
t1 = Thread.new { w.write("b" * 4096) }
t2 = Thread.new { w.write("c" * 4096) }
sleep 0.5
r.sysread(4096).length
sleep 0.5
r.sysread(4096).length
t1.join
t2.join
rescue LoadError
require "timeout"
timeout(3) do
r, w = IO.pipe
w.nonblock = true
w.write_nonblock("a" * 100000)
w.nonblock = false
t1 = Thread.new { w.write("b" * 4096) }
t2 = Thread.new { w.write("c" * 4096) }
sleep 0.5
r.sysread(4096).length
sleep 0.5
r.sysread(4096).length
t1.join
t2.join
end
rescue LoadError, TimeoutError
end
}, '[ruby-dev:32566]'