From: ko1@... Date: 2020-12-18T20:25:57+00:00 Subject: [ruby-core:101518] [Ruby master Bug#17366] Ractor odd issue with timeout + receive + sleep + take Issue #17366 has been updated by ko1 (Koichi Sasada). Status changed from Open to Closed c2fa024e0220aca6e2437e56df2abf1a2368cbdf ---------------------------------------- Bug #17366: Ractor odd issue with timeout + receive + sleep + take https://bugs.ruby-lang.org/issues/17366#change-89302 * Author: marcandre (Marc-Andre Lafortune) * Status: Closed * Priority: Normal * Assignee: ko1 (Koichi Sasada) * ruby -v: ruby 3.0.0dev (2020-11-30T10:06:25Z master 89774a938a) [x86_64-darwin18] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- I believe the following behavior is incorrect: ``` ruby -r timeout -e 'r = Ractor.new { Timeout.timeout(0.1) { sleep(1) } rescue :timeout }; p r.take' # => :timeout (ok) ruby -r timeout -e 'r = Ractor.new { Timeout.timeout(0.1) { sleep(1) } rescue :timeout }; sleep(0.2); p r.take' # => :timeout (ok) ruby -r timeout -e 'r = Ractor.new { Timeout.timeout(0.1) { Ractor.receive } rescue :timeout }; p r.take' # => :timeout (ok) ruby -r timeout -e 'r = Ractor.new { Timeout.timeout(0.1) { Ractor.receive } rescue :timeout }; sleep(0.2); p r.take' :130:in `take': The outgoing-port is already closed (Ractor::ClosedError) # => not ok ``` -- https://bugs.ruby-lang.org/ Unsubscribe: