effectivement, je pensais que c'était une notion "générique" que sémaphore non nommé.
Mais godrik a vu juste.
Alors dans ce cas, le code suivant me permet-t-il de gérer le partage de ressources correctement (avec mes sémaphores). Parceque je n'en ai pas l'impression, mais si tu pouvais me dire la méthode à utiliser je pense que cela m'aiderait
- define CHECK(sts,msg) if ((sts) == -1) {perror(msg); exit(-1); }
sem_t sem;
void main() {
int pid1,pid2;
char *string1 = "blabla";
char *string2 = "iopiop";
CHECK ((sem_init(&sem, 1, 1) == -1) , "Probleme avec sem_init");
void* affiche(void *p) {
//var
sem_wait(&sem);
//code blabla
sem_post(&sem);
}
pid1 = fork();
CHECK(pid1, "fork - probleme creation processus 1")
pid2 = fork();
CHECK(pid2, "fork - probleme creation processus 2")
if (pid1 == 0) {
affiche(string2);
exit(0);
}
if (pid2 == 0) {
affiche(string1);
exit(0);
}
printf("\n\n");
return ;
}