int nb_lu; nb_lu = read(p[0], buffer, TAILLE_READ);Remarquer que la lecture se fait dans le descripteur p[0].
Comportement de l'appel:
Si le tube n'est pas vide et contient taille
caract`eres:
lecture de nb_lu = min(taille, TAILLE_READ)
caract`eres.
Si le tube est vide
Si le nombre d''ecrivains est nul
alors c'est la fin de
fichier et nb_lu est nul.
Si le nombre d''ecrivains est non nul
Si lecture bloquante
alors sommeil
Si lecture non bloquante
alors en fonction de l'indicateur
O_NONBLOCK nb_lu= -1 et errno=EAGAIN.
O_NDELAY nb_lu = 0.