processus qui appel une fonction
Bonsoir j'ai 3 fonctions :
La première doit changer l'état d'une variable passé en paramètre de la fonction que voici :
Code:
1 2 3 4 5 6
| static int LED[3] = {0,0,0}
void eclair(int e){
LED[1] = e;
printf("maintenant la LED n°1 est à %d", e);
} |
et ma deuxième fonction crée un processus fork prenant en paramètre une fonction contenant les différentes actions à réalisé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| int nouveau_programme( void (*nouv_prog)() ){
pid_t processus;
processus = fork();
if (processus = -1){
return -1;
}
else if (processus == 0){
printf("je suis dans le processus fils");
return EXIT_SUCCESS;
}
} |
et donc par exemple si je veux que l'utilisateur utilise void eclair(int e) dans un nouveau processus, il fera :
Code:
1 2 3 4 5 6
|
void mon_prog1() {
void eclair(1);
}
nouveau_programme( mon_prog1()); |
Le problème est que lorsque j’exécute ce programme, je passe bien par le processus fils crée car j'ai le message : je suis dans le processus fils
Mais l'état de ma variable : LED[1] est toujours à 0 !
je ne comprend pas !