From: eregontp@... Date: 2020-12-05T13:22:35+00:00 Subject: [ruby-core:101254] [Ruby master Bug#17369] Introduce non-blocking `Process.wait`, `Kernel.system` and related methods. Issue #17369 has been updated by Eregon (Benoit Daloze). I clarified with @ioquatix, the code above should be ` end.value` so it returns the Process::Status and `system` still sets it. Then the change sounds good to me. ---------------------------------------- Bug #17369: Introduce non-blocking `Process.wait`, `Kernel.system` and related methods. https://bugs.ruby-lang.org/issues/17369#change-88931 * Author: ioquatix (Samuel Williams) * Status: Assigned * Priority: Normal * Assignee: ioquatix (Samuel Williams) * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- https://github.com/ruby/ruby/pull/3852 This PR introduces optional hooks to the scheduler interface for handling `Process.wait`, `Kernel.system` and other related methods (`waitpid`, `wait2`, etc). It funnels all methods through a new interface `Process::Status.wait` which is almost identical to `Process.wait` except for several key differences: - The return value is a single instance of `Process::Status`. - It does not set thread local `$?`. This is necessary for keeping the scheduler interface simple (and side effects are generally bad anyway). -- https://bugs.ruby-lang.org/ Unsubscribe: