Bonjour, je suis en train de développez un petit programme pour m’entraîner a la programmation système sur linux, j'ai donc crée plusieurs fonctions :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
int etat_barriere(int name);
int etat_feux_tricolore(int name);
void postionner_barrier(int name, int position);
void eclairer_feux_tricolore(int name, int couleur);
et j'ai crée une fonction "nouveau_process(void (*fonction) (void))" destiné a crée un processus pour la fonction passé en paramètre.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
int nouveau_process(void (*fonction)(void)){
 
pid_t processus;
processus = fork();
 
if (processus == -1) { 
return 0;
}
else if (processus != 0) { 
return(fonction);
}
}
ainsi après je pensais pouvoir lancer une de mes 4 fonctions dans un nouveau processus en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
nouveau_process(eclairer_feux_tricolore(23, 1))
Mais a la compilation j'obtient : utilisation invalide d'expression void