Issue #17310 has been updated by Eregon (Benoit Daloze). Sorry for the side discussion. I think this is the important point to discuss: Eregon (Benoit Daloze) wrote in #note-6: > I think (2) is a better solution. > A Ractor should always be able to send messages while it's alive. I think in some actor models `send` is considered safe and never raising an exception, or only raising if the receiver is not alive. `close_outgoing` seems to break that guarantee, because it might raise even if the receiver is alive. ---------------------------------------- Bug #17310: Closed ractors should die https://bugs.ruby-lang.org/issues/17310#change-88481 * Author: marcandre (Marc-Andre Lafortune) * Status: Closed * Priority: Normal * Assignee: ko1 (Koichi Sasada) * ruby -v: ruby 3.0.0dev (2020-11-07T21:47:45Z master 2f12af42f7) [x86_64-darwin18] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- While backporting Ractors, I found this issue: ```ruby 10.times { Ractor.new { sleep(0.1) } } sleep(1) puts Ractor.count # => 1, ok # but: 10.times { Ractor.new { sleep(0.1) }.close } sleep(1) Ractor.count # => 11, should be 1 ``` -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>