Les fonctions sem_* sont implémentées dans POSIX et n'ont donc rien à voir avec leur équivalent unix SysV. Donc il a bon sur ce point.
Ceci dit:
- avec les fonctions pthread_mutex_* et pthread_cond_* , tu refais une implémentation de sémaphore
- mais les fonctions sem* sont franchement bugguées sous Linux
Donc je te plussoie largement: il faut utiliser les mutex et cond de pthread.
[^] # Re: sem_wait / sem_post
Posté par left . En réponse au message échanges asynchrones entre 2 threads. Évalué à 3.
Ceci dit:
- avec les fonctions pthread_mutex_* et pthread_cond_* , tu refais une implémentation de sémaphore
- mais les fonctions sem* sont franchement bugguées sous Linux
Donc je te plussoie largement: il faut utiliser les mutex et cond de pthread.