cours/algorithme de lecture dans un tube.md
oscar.plaisant@icloud.com a2ee0fa5ca from github to this gitea
2023-10-23 23:09:51 +02:00

694 B

up:: unix tubes, C tubes title:: #informatique/unix


Cas d'un processus qui essaie de lire N octets à la sortie d'un tube

  1. le tube n'est pas vide et contient n onctents
    1. min(n, N) octets sont lus
    2. la primitive renvoie le nombre réel d'octets lus
  2. Le tube est vide
    1. le nombre d'écrivains est nul (fin de fichier est atteinte)
      • aucun octet n'est lu
      • la primitive renvoie 0
    • le nombre d'écrivains n'est pas nul
      • si la lecture est bloquante, le processus est mis en sommeil jusqu'à ce que le tube ne soit plus vide
      • si la lecture n'est pas bloquante, la primitive renvoie -1 et errno = EAGAIN