version 1.63, 2012/10/08 07:37:06
|
version 1.64, 2012/12/13 16:59:41
|
Line 427 ajout_variable(struct_processus *s_etat_
|
Line 427 ajout_variable(struct_processus *s_etat_
|
|
|
(*(*s_etat_processus).s_arbre_variables).feuille = NULL; |
(*(*s_etat_processus).s_arbre_variables).feuille = NULL; |
(*(*s_etat_processus).s_arbre_variables).feuille_statique = 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).noeuds_utilises = 0; |
(*(*s_etat_processus).s_arbre_variables).indice_tableau_pere = -1; |
(*(*s_etat_processus).s_arbre_variables).indice_tableau_pere = -1; |
(*(*s_etat_processus).s_arbre_variables).noeud_pere = NULL; |
(*(*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 = |
if (((*(*s_etat_processus).s_arbre_variables).noeuds = |
allocation_tableau_noeuds(s_etat_processus)) == NULL) |
allocation_tableau_noeuds(s_etat_processus)) == NULL) |
Line 480 ajout_variable(struct_processus *s_etat_
|
Line 483 ajout_variable(struct_processus *s_etat_
|
.pointeurs_caracteres_variables[*ptr]]).feuille_statique |
.pointeurs_caracteres_variables[*ptr]]).feuille_statique |
= NULL; |
= NULL; |
(*(*l_variable_courante).noeuds[(*s_etat_processus) |
(*(*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; |
.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 |
// Le champ noeud_pere de la structure créée pointe sur |
// la structure parente et l'indice tableau_pere correspond à la |
// la structure parente et l'indice tableau_pere correspond à la |
Line 1297 retrait_variable(struct_processus *s_eta
|
Line 1306 retrait_variable(struct_processus *s_eta
|
.feuille = NULL; |
.feuille = NULL; |
|
|
while(((*s_arbre_courant).noeuds_utilises == 0) && |
while(((*s_arbre_courant).noeuds_utilises == 0) && |
((*s_arbre_courant).feuille_statique == NULL)) |
((*s_arbre_courant).feuille_statique == NULL) && |
|
((*s_arbre_courant).feuille_partagee == NULL)) |
{ |
{ |
s_arbre_a_supprimer = s_arbre_courant; |
s_arbre_a_supprimer = s_arbre_courant; |
s_arbre_courant = (*s_arbre_courant).noeud_pere; |
s_arbre_courant = (*s_arbre_courant).noeud_pere; |