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.