From: Koichi Sasada Date: 2012-03-11T16:29:23+09:00 Subject: [ruby-core:43198] [ruby-trunk - Bug #5487][Assigned] popen3 + timeout regression in ruby 1.9 Issue #5487 has been updated by Koichi Sasada. Category set to core Status changed from Open to Assigned Assignee set to Akira Tanaka ---------------------------------------- Bug #5487: popen3 + timeout regression in ruby 1.9 https://bugs.ruby-lang.org/issues/5487 Author: William Morgan Status: Assigned Priority: Normal Assignee: Akira Tanaka Category: core Target version: ruby -v: 1.9.2p290 Wrapping Open3.popen3 in a Timeout::timeout block used to work in Ruby 1.8, but doesn't work in 1.9: w@masanjin:~$ cat timeout.rb require 'timeout' require 'open3' Timeout::timeout(1) { Open3.popen3("sleep 100 && echo hi") { |i, o, e| e.read } } w@masanjin:~$ /usr/bin/ruby -v ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux] w@masanjin:~$ /usr/bin/ruby timeout.rb /usr/lib/ruby/1.8/timeout.rb:60: execution expired (Timeout::Error) from /usr/lib/ruby/1.8/open3.rb:86:in `popen3' from timeout.rb:4 from timeout.rb:4 w@masanjin:~$ ruby -v ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux] w@masanjin:~$ ruby timeout.rb [sleeps forever] -- http://bugs.ruby-lang.org/