Skip to main content

open_pty_master

Function open_pty_master 

Source
pub fn open_pty_master() -> Result<OwnedFd, Errno>
Expand description

open_pty_master — ouvre un nouveau maître de pseudo-terminal via /dev/ptmx.

Chaque appel alloue une paire maître/esclave distincte (le kernel crée un nouvel esclave /dev/pts/N à chaque ouverture de /dev/ptmx). Le maître est rendu en [OwnedFd] (RAII — fermé au Drop, ce qui libère la paire).

Dogfoode l’API fs : délègue à crate::fs::openat (qui ajoute O_CLOEXEC), plutôt qu’un open brut. O_RDWR (lecture/écriture du maître) et O_NOCTTY (le maître ne doit pas devenir le terminal contrôlant du processus).

Le déverrouillage de l’esclave (pty_unlock) puis son ouverture (pty_peer) constituent la suite du flux d’allocation.

§Errors

  • [Errno::ENOSPC] : plus aucun pseudo-terminal disponible (limite atteinte).
  • [Errno::EACCES]/[Errno::ENOENT] : /dev/ptmx absent ou inaccessible.
  • Toute erreur propagée par crate::fs::openat.