- Use std's
process_group()
(#16).
- Change
UnixChildExt::signal
to take&self
instead of&mut self
. - Grouped child
wait
s using upstream::wait
and::try_wait
in addition to the internal pgid-based logic, to help with cancellation. - Optimisations in
tokio::Child::wait()
. (#25, #26)
- Add
ErasedChild::id()
method.
- Clarify why and in which situations
AsyncGroupChild::wait
may not behave as expected when cancelled. - Add
AsyncGroupChild::start_kill
to align with Tokio'sChild::start_kill
. - Change
AsyncGroupChild::kill
to alsowait()
on the child, to align with Tokio'sChild::kill
. - Add
ErasedChild
abstraction to allow using the same type for grouped and ungrouped children.
- Update
nix
to 0.27. - Increase MSRV to 1.68 (within policy).
- Add note to documentation for Tokio
Child::wait
wrt cancel safety. (#21)
(Same as 3.0.0, but yanked due to breakage.)
- Fix bug on Windows where the wrong pointer was being null checked, leading to timeout errors. (#13)
- Increase MSRV to 1.60.0 and change policy for increasing it (no longer a breaking change).
- Wait for all processes in the process group, avoiding zombies. (#7)
- Update
nix
to 0.26 and limit features. (#8)
- Bugfix: compiling would fail when Tokio was missing the
io-util
feature (notio-std
).
- Bugfix: compiling would fail when Tokio was missing the
io-std
feature.
- Internal: change usage of
feature = "tokio"
tofeature = "with-tokio"
. - Documentation: remove wrong mention of blocking reads on
AsyncGroupChild::wait_with_output()
.
New: Tokio implementation, gated on the with-tokio
feature.
Bugfix: GroupChild::try_wait()
would error if called after a child exited by itself.
Bugfix: GroupChild::try_wait()
and ::wait()
could not be called twice.
Implement Send
+Sync
on GroupChild
on Windows, and add a Drop
implementation to close handles
too (whoops). Do our best when .into_inner()
is used...
Initial release