Skip to main content

waitid

Function waitid 

Source
pub fn waitid(
    target: WaitTarget<'_>,
    options: WaitOptions,
) -> Result<Option<WaitStatus>, Errno>
Expand description

Attend un événement sur un processus enfant via le syscall waitid(2).

Cf. docs/specs/layer-0/family-process.md section waitid. Retourne :

  • Ok(Some(status)) si un événement a été reçu.
  • Ok(None) si [WaitOptions::NOHANG] était positionné et qu’aucun événement n’était disponible (kernel renvoie une siginfo zéroée).
  • Err(Errno::EINTR) si l’attente a été interrompue par un signal : non retried automatiquement (convention 2 ADR-021). L’appelant qui veut retry écrit la boucle explicitement.

§Errors

  • [Errno::ECHILD] : aucun enfant à attendre dans la cible.
  • [Errno::EINTR] : interrompu par un signal, voir ci-dessus.
  • [Errno::EINVAL] : options invalides (aucun parmi EXITED/STOPPED/CONTINUED positionné) ou cible invalide.