--- rpl/src/instructions_f1.c 2010/04/07 07:16:12 1.6 +++ rpl/src/instructions_f1.c 2010/04/17 18:57:35 1.8 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.13 + RPL/2 (R) version 4.0.14 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -586,6 +586,13 @@ instruction_fleche(struct_processus *s_e if ((s_variable_partagee.nom = malloc((strlen(s_variable.nom) + 1) * sizeof(unsigned char))) == NULL) { + if (pthread_mutex_unlock(&((*(*s_etat_processus) + .s_liste_variables_partagees).mutex)) != 0) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + return; + } + (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; return; @@ -632,6 +639,13 @@ instruction_fleche(struct_processus *s_e if (creation_variable_partagee(s_etat_processus, &s_variable_partagee) == d_erreur) { + if (pthread_mutex_unlock(&((*(*s_etat_processus) + .s_liste_variables_partagees).mutex)) != 0) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + return; + } + return; }