Bonjour,
Je suis en train de tester un peu le mkfifo et je me heurte à certains détails.
Voici mon code :
J'ouvre mon pipe dans mon shell avec les bonnes permissions.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 int main(int argc, char *argv[]) { char buf[650]; FILE* fifo = NULL; fifo = fopen ("/tmp/pipe_sample", "r"); if (fifo < 0) { perror("Opening read pipe"); exit(1); } while (1) { sleep (2); if (fread(buf, sizeof(char), 1, fifo) <0) { perror("Read the pipe"); exit(2); } printf("%c", buf[0]); } fclose (fifo); return 1; }
J'ouvre une autre fenêtre et je tape ceci :
Ensuite, je tape des trucs et la fenêtre de mon reader me lit les bonnes choses.Citation:
cat > /tmp/pipe_sample
Tout va bien.
Sauf que quand je tape une chaîne trop longue, le reader ne veut pas me l'afficher... Une idée?
Le but est de voir si un reader lent ou un writer lent peut influencer mon programme et si j'ai un réel intérêt à changer mes accès fichiers.
Vous auriez d'autres idées de test?
Merci :)
Vincent