--- rpl/src/instructions_r2.c 2012/09/29 17:53:02 1.39 +++ rpl/src/instructions_r2.c 2024/01/09 07:33:53 1.79 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.10 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.35 + Copyright (C) 1989-2024 Dr. BERTRAND Joël This file is part of RPL/2. @@ -350,7 +350,7 @@ instruction_return(struct_processus *s_e unsigned char *instruction_majuscule; unsigned char *tampon; - unsigned long registre_position_courante; + integer8 registre_position_courante; struct_liste_chainee *tampon_expression; @@ -381,21 +381,6 @@ instruction_return(struct_processus *s_e return; } - if ((*s_etat_processus).niveau_courant == ((*s_etat_processus) - .niveau_initial + 1)) - { - /* - * On ne peut rien dépiler ! - */ - - if ((*s_etat_processus).mode_execution_programme == 'Y') - { - (*s_etat_processus).requete_arret = 'Y'; - } - - return; - } - tampon = (*s_etat_processus).instruction_courante; tampon_expression = (*s_etat_processus).expression_courante; @@ -416,7 +401,7 @@ instruction_return(struct_processus *s_e (*s_etat_processus).instruction_courante) == d_faux) { (*s_etat_processus).erreur_systeme = d_es; - instruction_majuscule = conversion_majuscule( + instruction_majuscule = conversion_majuscule(s_etat_processus, (*s_etat_processus).instruction_courante); if (instruction_majuscule == NULL) @@ -446,6 +431,7 @@ instruction_return(struct_processus *s_e analyse(s_etat_processus, NULL); } else if ((strcmp(instruction_majuscule, "FOR") == 0) || + (strcmp(instruction_majuscule, "FORALL") == 0) || (strcmp(instruction_majuscule, "START") == 0)) { empilement_pile_systeme(s_etat_processus); @@ -511,9 +497,10 @@ instruction_return(struct_processus *s_e * Libération des compteurs de boucle. */ - presence_compteur = ((*(*s_etat_processus) - .l_base_pile_systeme).type_cloture == 'F') - ? d_vrai : d_faux; + presence_compteur = (((*(*s_etat_processus) + .l_base_pile_systeme).type_cloture == 'F') || + ((*(*s_etat_processus).l_base_pile_systeme) + .type_cloture == 'A')) ? d_vrai : d_faux; if (((*(*s_etat_processus).l_base_pile_systeme) .type_cloture != 'S') && @@ -547,7 +534,7 @@ instruction_return(struct_processus *s_e (*s_etat_processus).niveau_courant--; - if (retrait_variable_par_niveau( + if (retrait_variables_par_niveau( s_etat_processus) == d_erreur) { return; @@ -695,6 +682,7 @@ instruction_return(struct_processus *s_e instruction_vers_niveau_superieur); } else if ((fonction == instruction_for) || + (fonction == instruction_forall) || (fonction == instruction_start)) { empilement_pile_systeme(s_etat_processus); @@ -756,9 +744,10 @@ instruction_return(struct_processus *s_e * Libération des compteurs de boucle. */ - presence_compteur = ((*(*s_etat_processus) - .l_base_pile_systeme).type_cloture == 'F') - ? d_vrai : d_faux; + presence_compteur = (((*(*s_etat_processus) + .l_base_pile_systeme).type_cloture == 'F') || + ((*(*s_etat_processus).l_base_pile_systeme) + .type_cloture == 'A')) ? d_vrai : d_faux; if (((*(*s_etat_processus).l_base_pile_systeme) .type_cloture != 'S') && @@ -792,7 +781,7 @@ instruction_return(struct_processus *s_e (*s_etat_processus).niveau_courant--; - if (retrait_variable_par_niveau(s_etat_processus) + if (retrait_variables_par_niveau(s_etat_processus) == d_erreur) { return; @@ -882,13 +871,13 @@ instruction_rdm(struct_processus *s_etat logical1 drapeau_fin_objet_originel; logical1 variable_partagee; - unsigned long i; - unsigned long j; - unsigned long k; - unsigned long l; - unsigned long nombre_colonnes; - unsigned long nombre_dimensions; - unsigned long nombre_lignes; + integer8 i; + integer8 j; + integer8 k; + integer8 l; + integer8 nombre_colonnes; + integer8 nombre_dimensions; + integer8 nombre_lignes; (*s_etat_processus).erreur_execution = d_ex; @@ -976,27 +965,12 @@ instruction_rdm(struct_processus *s_etat if (s_objet_initial == NULL) { - if (pthread_mutex_lock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) - { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; - } - if (recherche_variable_partagee(s_etat_processus, (*(*s_etat_processus).pointeur_variable_courante).nom, (*(*s_etat_processus).pointeur_variable_courante) .variable_partagee, (*(*s_etat_processus) - .pointeur_variable_courante).origine) - == d_faux) + .pointeur_variable_courante).origine) == 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; (*s_etat_processus).erreur_execution = d_ex_variable_non_definie; @@ -1019,7 +993,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1051,7 +1025,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1081,7 +1055,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1104,7 +1078,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1141,7 +1115,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1170,7 +1144,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1186,12 +1160,13 @@ instruction_rdm(struct_processus *s_etat nombre_lignes; if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(integer8))) == NULL) + = malloc(((size_t) nombre_lignes) * sizeof(integer8))) + == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1228,7 +1203,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1244,12 +1219,12 @@ instruction_rdm(struct_processus *s_etat nombre_lignes; if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(real8))) == NULL) + = malloc(((size_t) nombre_lignes) * sizeof(real8))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1287,7 +1262,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1303,13 +1278,13 @@ instruction_rdm(struct_processus *s_etat nombre_lignes; if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(struct_complexe16))) - == NULL) + = malloc(((size_t) nombre_lignes) * + sizeof(struct_complexe16))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1356,7 +1331,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1372,12 +1347,13 @@ instruction_rdm(struct_processus *s_etat nombre_lignes; if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(integer8))) == NULL) + = malloc(((size_t) nombre_lignes) * sizeof(integer8))) + == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1427,7 +1403,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1443,12 +1419,12 @@ instruction_rdm(struct_processus *s_etat nombre_lignes; if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(real8))) == NULL) + = malloc(((size_t) nombre_lignes) * sizeof(real8))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1499,7 +1475,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1515,13 +1491,13 @@ instruction_rdm(struct_processus *s_etat nombre_lignes; if (((*((struct_vecteur *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(struct_complexe16))) - == NULL) + = malloc(((size_t) nombre_lignes) * + sizeof(struct_complexe16))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1576,7 +1552,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1614,7 +1590,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1632,13 +1608,13 @@ instruction_rdm(struct_processus *s_etat .nombre_colonnes = nombre_colonnes; if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(integer8 *))) + = malloc(((size_t) nombre_lignes) * sizeof(integer8 *))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1653,12 +1629,14 @@ instruction_rdm(struct_processus *s_etat { if ((((integer8 **) (*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau)[i] = - malloc(nombre_colonnes * sizeof(integer8))) == NULL) + malloc(((size_t) nombre_colonnes) * sizeof(integer8))) + == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1699,7 +1677,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1717,13 +1695,13 @@ instruction_rdm(struct_processus *s_etat .nombre_colonnes = nombre_colonnes; if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(real8 *))) + = malloc(((size_t) nombre_lignes) * sizeof(real8 *))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1738,12 +1716,14 @@ instruction_rdm(struct_processus *s_etat { if ((((real8 **) (*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau)[i] = - malloc(nombre_colonnes * sizeof(real8))) == NULL) + malloc(((size_t) nombre_colonnes) * sizeof(real8))) + == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1784,7 +1764,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1802,13 +1782,13 @@ instruction_rdm(struct_processus *s_etat .nombre_colonnes = nombre_colonnes; if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(struct_complexe16 *))) - == NULL) + = malloc(((size_t) nombre_lignes) * + sizeof(struct_complexe16 *))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1823,13 +1803,14 @@ instruction_rdm(struct_processus *s_etat { if ((((struct_complexe16 **) (*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau)[i] = - malloc(nombre_colonnes * + malloc(((size_t) nombre_colonnes) * sizeof(struct_complexe16))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1881,7 +1862,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1899,13 +1880,13 @@ instruction_rdm(struct_processus *s_etat .nombre_colonnes = nombre_colonnes; if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(integer8 *))) + = malloc(((size_t) nombre_lignes) * sizeof(integer8 *))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1922,13 +1903,14 @@ instruction_rdm(struct_processus *s_etat { if ((((integer8 **) (*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau)[i] = - malloc(nombre_colonnes * + malloc(((size_t) nombre_colonnes) * sizeof(integer8))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1980,7 +1962,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1998,13 +1980,13 @@ instruction_rdm(struct_processus *s_etat .nombre_colonnes = nombre_colonnes; if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(real8 *))) + = malloc(((size_t) nombre_lignes) * sizeof(real8 *))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2021,13 +2003,14 @@ instruction_rdm(struct_processus *s_etat { if ((((real8 **) (*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau)[i] = - malloc(nombre_colonnes * + malloc(((size_t) nombre_colonnes) * sizeof(real8))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2079,7 +2062,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2097,13 +2080,13 @@ instruction_rdm(struct_processus *s_etat .nombre_colonnes = nombre_colonnes; if (((*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau - = malloc(nombre_lignes * sizeof(struct_complexe16 *))) - == NULL) + = malloc(((size_t) nombre_lignes) + * sizeof(struct_complexe16 *))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2120,13 +2103,14 @@ instruction_rdm(struct_processus *s_etat { if ((((struct_complexe16 **) (*((struct_matrice *) (*s_objet_redimensionne).objet)).tableau)[i] = - malloc(nombre_colonnes * + malloc(((size_t) nombre_colonnes) * sizeof(struct_complexe16))) == NULL) { if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) + != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2184,7 +2168,7 @@ instruction_rdm(struct_processus *s_etat if (variable_partagee == d_vrai) { if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2219,12 +2203,11 @@ instruction_rdm(struct_processus *s_etat { if (variable_partagee == d_vrai) { - (*(*s_etat_processus).s_liste_variables_partagees).table - [(*(*s_etat_processus).s_liste_variables_partagees) - .position_variable].objet = s_objet_redimensionne; + (*(*s_etat_processus).pointeur_variable_partagee_courante).objet = + s_objet_redimensionne; if (pthread_mutex_unlock(&((*(*s_etat_processus) - .s_liste_variables_partagees).mutex)) != 0) + .pointeur_variable_partagee_courante).mutex)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return;