Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
child.kill()
but forgetting to callchild.wait().await
orchild.try_wait()
afterwards can lead to zombie processes on Unix platformsSolution
Child::kill
to be an async method which awaits thechild after sending a kill signal.
start_kill
method was also added onChild
which only sends thekill signal to the child process. This allows for kill signals to be
sent even outside of async contexts.
cc @Darksonn if you have any thoughts around this beyond what we already discussed!