ciao a tutti !
Non capisco l'output del mio codice:
SERVER.C
main ()
{
// CREO E APRO LE FIFO
int fdf;
mkfifo ("./fifo",0644); // creo la fifo per leggere richieste del client
fdf = open ("./fifo",O_RDONLY); /* apre in sola lettura bloccante */
char richiesta[15];
while (1)
{
read (fdf, richiesta, 15);
printf ("%s\n", richiesta);
}
}
CLIENT.C
main ()
{
int fdf;
fdf = open ("./fifo",O_WRONLY); /* apre in sola scrittura bloccante */
char s[15] = {"ciaoooooooooooo"};
write (fdf, s, 15);
}
faccio partire il server e rimane in attesa sulla open .....
faccio partire il client che scrive sulla pipe....
mi aspetto che il server stampi quello che ha spedito e che poi si rimette in attesa sulla read
invece mi stampa all'infinito "ciaooooo"
perche'? :master: