Devo fare un programma che crea tre processi figli, con delle pipe tra di essi.
il processo 1 scrive un messaggio al processo 2, il quale lo scrive tale e quale al proc 3, che poi lo rimanda al processo 1.Quando al processo 1 ritorna lo stesso messagio, ne manda uno nuovo...

guardando degli esempi sono riuscito a farne uno, ma con un solo processo figlio....il problema è come fare a far comunicare 3 processi figli...

ecco quello che sono riuscito a fare:

codice:
#include <stdio.h>



 main()
{int fdes1[2];int fdes2[2];
 int pid;
  int i=1;
  int j=1;
 char buffer1[5];
 char buffer2[6];
 pipe(fdes1);   /*creating first pipe*/
 pipe(fdes2);   /* second pipe */
 
pid = fork();

if (pid==0){   /*child */
close(fdes1[1]);
close(fdes2[0]);
                
while(i!=0){
i=read(fdes1[0], buffer1,5);
printf("%d characters received by child= ",i);
buffer1[i]='\0';
printf("%s\n",buffer1);
}
close(fdes1[0]);

sleep(1);
          
write(fdes2[1],"Ciao, Papa!",sizeof("Ciao, Papa!"));

}

if (pid!=0) {                      /* in parent */
close(fdes1[0]);
close(fdes2[1]);
write(fdes1[1],"Ciao, Bambino!",sizeof("Ciao, Bambino!"));
close(fdes1[1]);


while(j!=0){
j=read(fdes2[0], buffer2,6);
printf("%d characters received by father= ",j);
buffer2[j]='\0';
printf("%s\n",buffer2);
}


        
   }
}
sapreste darmi gentilmente una mano???
Grazie