Skip to main content

tcdrain

Function tcdrain 

Source
pub fn tcdrain(fd: BorrowedFd<'_>) -> Result<(), Errno>
Expand description

tcdrain (TCSBRK, argument 1) — bloque jusqu’à ce que tous les octets déjà écrits vers fd aient été transmis.

Sur Linux, ioctl(fd, TCSBRK, arg) avec un arg non nul ne fait pas un envoi de break : il draine la file de sortie (sémantique tcdrain, cf. musl). L’envoi de break correspond à arg == 0 (tcsendbreak).

§Errors

  • [Errno::ENOTTY] : fd n’est pas un terminal.
  • [Errno::EBADF] : fd n’est pas un descripteur valide.
  • [Errno::EINTR] : interrompu par un signal pendant l’attente — remonté tel quel, aucun retry automatique (ADR-021 conv. 2 ; l’appelant qui veut retenter écrit la boucle). tcdrain est le point d’annulation de la famille (audit musl §3).