Je viens de lutter contre un problème étrange pour mon initialisation de mutex.
En effet PTHREAD_MUTEX_INITIALIZER ne peut être utilisé uniquement sur les variables statiques (ce qui n'était pas mon cas, malheureusement). Ce détail à son importance car, d'après pthread.h :
# define PTHREAD_MUTEX_INITIALIZER {{0,0,0,0,0,0,{0,0}}}
Et donc le compilateur n'aime pas trop la première accolade et nous gratifie d'une erreur du type "Expected expression before `{'"
La solution est tellement simple mais n’apparaît pas dans ce tuto : Il faut initialiser le mutex (non statique donc) avec
pthread_mutex_init(&mutex, NULL);
Je verrai donc bien un soit un petit complément d'introduction au chapitre sur les mutex, soit en première sous partie au même titre pthread_mutex_lock / unlock
Super tuto sinon
Partager