--- rpl/src/gestion_variables_statiques.c 2012/10/07 21:57:48 1.40 +++ rpl/src/gestion_variables_statiques.c 2012/12/13 16:59:41 1.42 @@ -119,17 +119,6 @@ creation_variable_statique(struct_proces (*(*l_nouvel_element).variable) = (*s_variable); - /* - if (((*(*l_nouvel_element).variable).nom = malloc((strlen((*s_variable).nom) - + 1) * sizeof(unsigned char))) == NULL) - { - (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; - return(d_erreur); - } - - strcpy((*(*l_nouvel_element).variable).nom, (*s_variable).nom); - */ - (*l_nouvel_element).suivant = (*s_etat_processus) .l_liste_variables_statiques; (*l_nouvel_element).precedent = NULL; @@ -155,9 +144,12 @@ creation_variable_statique(struct_proces (*(*s_etat_processus).s_arbre_variables).feuille = NULL; (*(*s_etat_processus).s_arbre_variables).feuille_statique = NULL; + (*(*s_etat_processus).s_arbre_variables).feuille_partagee = NULL; (*(*s_etat_processus).s_arbre_variables).noeuds_utilises = 0; (*(*s_etat_processus).s_arbre_variables).indice_tableau_pere = -1; (*(*s_etat_processus).s_arbre_variables).noeud_pere = NULL; + INITIALISATION_MUTEX((*(*s_etat_processus).s_arbre_variables) + .mutex_feuille_partagee); if (((*(*s_etat_processus).s_arbre_variables).noeuds = allocation_tableau_noeuds(s_etat_processus)) == NULL) @@ -207,7 +199,13 @@ creation_variable_statique(struct_proces .pointeurs_caracteres_variables[*ptr]]).feuille_statique = NULL; (*(*l_variable_courante).noeuds[(*s_etat_processus) + .pointeurs_caracteres_variables[*ptr]]).feuille_partagee + = NULL; + (*(*l_variable_courante).noeuds[(*s_etat_processus) .pointeurs_caracteres_variables[*ptr]]).noeuds_utilises = 0; + INITIALISATION_MUTEX((*(*l_variable_courante).noeuds + [(*s_etat_processus).pointeurs_caracteres_variables[*ptr]]) + .mutex_feuille_partagee); // Le champ noeud_pere de la structure créée pointe sur // la structure parente et l'indice tableau_pere correspond à la