--- rpl/src/instructions_d5.c 2015/09/18 13:41:13 1.133 +++ rpl/src/instructions_d5.c 2015/10/22 18:37:09 1.134 @@ -1088,13 +1088,13 @@ instruction_detach(struct_processus *s_e return; } - if (pthread_mutex_lock(&((*s_etat_processus).mutex_allocation_buffer)) != 0) + if (pthread_mutex_lock(&mutex_liste_variables_partagees) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; } - if (pthread_mutex_lock(&mutex_liste_variables_partagees) != 0) + if (pthread_mutex_lock(&((*s_etat_processus).mutex_allocation_buffer)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1288,6 +1288,9 @@ instruction_detach(struct_processus *s_e pthread_mutex_init(&mutex_liste_variables_partagees, &attributs_mutex); pthread_mutexattr_destroy(&attributs_mutex); + // Remplacement des mutexes des variables partagées. + reinitialisation_mutexes_variables_partagees(s_etat_processus); + liberation_queue_signaux(s_etat_processus); creation_queue_signaux(s_etat_processus);