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/ptmxabsent ou inaccessible. - Toute erreur propagée par
crate::fs::openat.