Issue #22441 has been reported by jhawthorn (John Hawthorn). ---------------------------------------- Feature #22441: Add Ractor#alive? https://bugs.ruby-lang.org/issues/22441 * Author: jhawthorn (John Hawthorn) * Status: Open ---------------------------------------- I propose adding `Ractor#alive?` as a non-blocking way to ask whether a Ractor has finished. This matches `Thread#alive?`/`Fiber#alive?`. ``` r = Ractor.new { Ractor.receive } r.alive? #=> true r << :done r.join r.alive? #=> false ``` This is already somewhat visible via `Ractor#inspect`, but that's quite awkward. We use this in the test suite. ``` r = Ractor.new{ sleep 1 } r.inspect #=> "#<Ractor:#3 (irb):4 running>" sleep 2 r.inspect #=> "#<Ractor:#3 (irb):4 terminated>" ``` After fork, other Ractors `alive?` will return false, as with `Thread#alive?`. -- https://bugs.ruby-lang.org/