Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify Child::kill behavior #7162

Merged
merged 1 commit into from
Mar 6, 2025
Merged

Conversation

stepancheg
Copy link
Contributor

@stepancheg stepancheg commented Feb 16, 2025

Child::kill       == std Child::kill + Child::wait
Child::start_kill == std Child::kill

As a side note, kill that also waits, is convenient, but also
dangerous, because wait may hang in certain cases (NFS, ptrace,
etc). And different behavior between std and tokio may leads to
bugs when code is mechanically converted from one to another. Better
name name of this function might be kill_and_wait.

CC @maminrayej

@maminrayej maminrayej added T-docs Topic: documentation A-tokio Area: The main tokio crate M-process Module: tokio/process labels Feb 16, 2025
```
Child::kill       == std Child::kill + Child::wait
Child::start_kill == std Child::kill
```

As a side note, kill that also waits, is convenient, but also
dangerous, because `wait` may hang in certain cases (NFS, ptrace,
etc).  And different behavior between std and tokio may leads to
bugs when code is mechanically converted from one to another.  Better
name name of this function might be `kill_and_wait`.
@maminrayej
Copy link
Member

Thanks.

@maminrayej maminrayej merged commit e076d21 into tokio-rs:master Mar 6, 2025
87 of 129 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-tokio Area: The main tokio crate M-process Module: tokio/process T-docs Topic: documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants