Bonjour a tous,
Dans mon code j'ai ça :
comment je peut passer deux variable a mes processus fils ?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
31
32
33 ... static void calcLettre (int lstart, int lend) { int valstart, valend ; int pid ; pid = getpid () ; while (read (lstart, &valstart, sizeof (int)) > 0 && read (lend, &valend, sizeof (int)) > 0) { printf ("Valeur %d par le processus %d\n", valstart, pid) ; printf ("Valeur %d par le processus %d\n", valend, pid) ; } // printf ("Valeur %d par le processus %d\n", val, pid) ; close (lstart) ; close (lend) ; } ... ... switch (fork()) { case -1 : perror ("fork") ; return -1 ; case 0 : /* fils */ /* ferme le tube en ecriture */ close (tubeslettre [filslettre][1]) ; /* creation du fils */ calcLettre (tubeslettre [filslettre][0]) ; /* terminaison du fils */ return 0 ; default : /* pere */ /* ferme le tube en lecture */ close (tubeslettre [filslettre][0]) ; } ...
Dans le switch j'ai ça :
alors que ma fonction calcLettre est definit comme :Code:
1
2 calcLettre (tubeslettre [filslettre][0]) ;
alors faut il 2tube pour chaque fils pour arriver a passer 2 variable?Code:
1
2 static void calcLettre (int lstart, int lend)
Merci

