diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | test/ruby/test_process.rb | 8 |
2 files changed, 9 insertions, 4 deletions
@@ -1,3 +1,8 @@ +Thu Oct 23 10:22:41 2014 Eric Wong <e@80x24.org> + + * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): + use IO#wait_readable instead of timeout + Thu Oct 23 10:22:24 2014 Eric Wong <e@80x24.org> * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb index 2a13819dca..0738c50b69 100644 --- a/test/ruby/test_process.rb +++ b/test/ruby/test_process.rb @@ -1,6 +1,7 @@ require 'test/unit' require 'tempfile' require 'timeout' +require 'io/wait' require_relative 'envutil' require 'rbconfig' @@ -1946,13 +1947,12 @@ EOS ew.close begin loop do - Timeout.timeout(5) do - runner.readpartial(100) - end + runner.wait_readable(5) + runner.read_nonblock(100) end rescue EOFError => e _, status = Process.wait2(runner.pid) - rescue Timeout::Error => e + rescue IO::WaitReadable => e Process.kill(:INT, runner.pid) raise Marshal.load(er.read.unpack("m")[0]) end |