Add a backend for waitable handles
This commit adds a new backend for the process reaper. Rather than waiting on a signal, it instead registers the process's pidfd into async-io and waits on that instead.
I've coded this backend to also allow for other systems to be registered here as well.
cc #49
ok, the concept looks good overall, but I wasn't yet able to look through in detail.
I realized that pidfd was only introduced in v5.4 of the Linux kernel, while Rust 1.63's current minimum version is v2.6. So we might still need to keep in the signal backend at least as a fallback.
I realized that
pidfdwas only introduced in v5.4 of the Linux kernel, while Rust 1.63's current minimum version is v2.6. So we might still need to keep in the signal backend at least as a fallback.
This should be fixed as of now.
@smol-rs/admins Any chance this PR can be reviewed?