[ruby-dev:47873] [ruby-trunk - Bug #9380] Enumerator does not work in timeout

From: "nobu (Nobuyoshi Nakada)" <nobu@...>
Date: 2014-01-08 03:47:04 UTC
List: ruby-dev #47873
Issue #9380 has been updated by nobu (Nobuyoshi Nakada).

Description updated


----------------------------------------
Bug #9380: Enumerator does not work in timeout
https://bugs.ruby-lang.org/issues/9380#change-44164

Author: nobu (Nobuyoshi Nakada)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: lib
Target version: current: 2.2.0
ruby -v: r44522
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN


=begin
(({Enumerator}))と(({timeout}))の組み合わせで、(({Timeout::Error}))が起きるべきところで(({ArgumentError}))が発生します。

 $ ruby -v -rtimeout -e 'def (o=Object.new).each; sleep; end' -e 'Timeout.timeout(0.01) {o.to_enum.next}'
 ruby 2.2.0dev (2014-01-07 trunk 44522) [universal.x86_64-darwin13.0]
 /opt/local/lib/ruby/2.2.0/timeout.rb:39:in `throw': uncaught throw #<Timeout::ExitException: Timeout::ExitException> (ArgumentError)
 	from /opt/local/lib/ruby/2.2.0/timeout.rb:39:in `exception'
 	from -e:1:in `sleep'
 	from -e:1:in `each'
 	from -e:1:in `each'
=end



-- 
http://bugs.ruby-lang.org/

In This Thread