cours/algorithme de lecture dans un tube.md
Oscar Plaisant 602a41e7f8 update
2024-12-25 22:30:24 +01:00

21 lines
696 B
Markdown

up:: [[unix tubes]], [[C tubes]]
title::
#s/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`