La fonction read ne s'arrête pas
Bonjour,
J'ai écrit un programme avec des traitements en tubes sous linux. Il y a dans mon programme des créations de processus à l'aide de fork(). Une fonctionnement de traitement s'effectue avec un paramètre récupéré par l'intermédiaire d'une fonction read. Le programme est conçu pour que read soit appelé sur un descripteur tant que quelque chose est à lire. Seulement au deuxième appel à la fonction read sur le premier descripteur, la fonction read tourne infiniment et le programme est donc bloqué. Je précise que si je remplace le while du read par un if pour ne faire qu'un seul appel par descripteur, il n'y a pas de problème, mais toutes les informations du tube ne sont donc pas récupérées.
Je n'ai malheureusement aucune idée sur les causes d'un blocage de la fonction read, j'ignorais même que c'était possible ; c'est pour cela que j'aimerais savoir si vous savez pour quelles raisons la fonction read peut elle être bloquée.