Skip to content

Add PidFd::{kill, wait, try_wait}#124101

Merged
bors merged 2 commits intorust-lang:masterfrom
the8472:pidfd-methods
Jun 22, 2024
Merged

Add PidFd::{kill, wait, try_wait}#124101
bors merged 2 commits intorust-lang:masterfrom
the8472:pidfd-methods

Conversation

@the8472
Copy link
Copy Markdown
Member

@the8472 the8472 commented Apr 17, 2024

#117957 changed Child kill/wait/try_wait to use its pidfd instead of the pid, when one is available.
This PR extracts those implementations and makes them available on PidFd directly.

The PidFd implementations differ significantly from the corresponding Child methods:

  • the methods can be called after the child has been reaped, which will result in an error but will be safe. This state is not observable in Child unless something stole the zombie child
  • the ExitStatus is not kept, meaning that only the first time a wait succeeds it will be returned
  • wait does not close stdin
  • wait only requires &self instead of &mut self since there is no state to maintain and subsequent calls are safe

Tracking issue: #82971

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-linux_pidfd `#![feature(linux_pidfd)]` merged-by-bors This PR was explicitly merged by bors. O-linux Operating system: Linux O-unix Operating system: Unix-like S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants