Skip to main content

AsyncPidFd

Struct AsyncPidFd 

Source
pub struct AsyncPidFd(/* private fields */);
Expand description

An async wrapper around PidFd for asynchronous process waiting.

This type allows waiting for a process to exit asynchronously, integrating with async runtimes via the async-io crate. The pidfd becomes readable when the process exits.

Only available when the async feature is enabled (which is the default).

Implementations§

Source§

impl AsyncPidFd

Source

pub async fn wait(&self) -> Result<ExitStatus>

Asynchronously waits for the process to exit and returns its exit status.

This method waits until the pidfd becomes readable (which happens when the process exits), then retrieves the exit status.

§Examples
#![cfg_attr(feature = "nightly", feature(linux_pidfd))]
use pidfd_util::{PidFd, PidFdExt, AsyncPidFd};

let pidfd = PidFd::from_pid(1234)?;
let async_pidfd: AsyncPidFd = pidfd.try_into()?;
let status = async_pidfd.wait().await?;

Trait Implementations§

Source§

impl TryFrom<PidFd> for AsyncPidFd

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(pifd: PidFd) -> Result<Self, Error>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.