Skip to main content

pipe2

Function pipe2 

Source
pub fn pipe2(flags: PipeFlags) -> Result<(OwnedFd, OwnedFd), Errno>
Expand description

Crée un pipe unidirectionnel et retourne (read_end, write_end).

Wrappeur de pipe2(2) (Linux 2.6.27+). Retourne deux [OwnedFd] : le premier est le côté lecture, le second le côté écriture.

CLOEXEC est fortement recommandé pour éviter la fuite du pipe vers les processus fils après exec. Air n’impose pas CLOEXEC automatiquement car certains usages légitimes (héritage volontaire vers un enfant) en ont besoin.

§Parameters

  • flags : combinaison de [PipeFlags].

§Errors

  • EFAULT : pointeur interne invalide (ne se produit pas via cette API).
  • EINVAL : flags invalides.
  • EMFILE : quota de FD du processus atteint.
  • ENFILE : quota de FD système atteint.

§Examples

use air_sys_syscall::ipc::pipe2;
use air_sys_types::PipeFlags;

let (read_fd, write_fd) = pipe2(PipeFlags::CLOEXEC).expect("pipe2");