version 1.45, 2013/03/20 17:11:44
|
version 1.46, 2013/03/23 16:14:39
|
Line 449 recherche_variable_partagee(struct_proce
|
Line 449 recherche_variable_partagee(struct_proce
|
{ |
{ |
// Caractère hors de l'alphabet des variables |
// Caractère hors de l'alphabet des variables |
|
|
|
pthread_mutex_unlock(&((*l_variable_courante).mutex_feuille)); |
(*s_etat_processus).erreur_systeme = d_es_variable_introuvable; |
(*s_etat_processus).erreur_systeme = d_es_variable_introuvable; |
return(NULL); |
return(NULL); |
} |
} |
Line 456 recherche_variable_partagee(struct_proce
|
Line 457 recherche_variable_partagee(struct_proce
|
if ((*l_variable_courante).noeuds[pointeur] == NULL) |
if ((*l_variable_courante).noeuds[pointeur] == NULL) |
{ |
{ |
// Le chemin de la variable candidate n'existe pas. |
// Le chemin de la variable candidate n'existe pas. |
|
|
|
pthread_mutex_unlock(&((*l_variable_courante).mutex_feuille)); |
(*s_etat_processus).erreur_systeme = d_es_variable_introuvable; |
(*s_etat_processus).erreur_systeme = d_es_variable_introuvable; |
return(NULL); |
return(NULL); |
} |
} |
Line 463 recherche_variable_partagee(struct_proce
|
Line 466 recherche_variable_partagee(struct_proce
|
if (pthread_mutex_lock(&((*(*l_variable_courante).noeuds[pointeur]) |
if (pthread_mutex_lock(&((*(*l_variable_courante).noeuds[pointeur]) |
.mutex_feuille)) != 0) |
.mutex_feuille)) != 0) |
{ |
{ |
|
pthread_mutex_unlock(&((*l_variable_courante).mutex_feuille)); |
(*s_etat_processus).erreur_systeme = d_es_processus; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return(NULL); |
return(NULL); |
} |
} |
Line 479 recherche_variable_partagee(struct_proce
|
Line 483 recherche_variable_partagee(struct_proce
|
|
|
if ((*l_variable_courante).feuille != NULL) |
if ((*l_variable_courante).feuille != NULL) |
{ |
{ |
// Il existe au moins une variable statique du nom requis. |
// Il existe au moins une variable partagée du nom requis. |
|
|
l_element_courant = (*l_variable_courante).feuille; |
l_element_courant = (*l_variable_courante).feuille; |
|
|
Line 656 retrait_variable_partagee(struct_process
|
Line 660 retrait_variable_partagee(struct_process
|
liberation(s_etat_processus, (*(*l_element_a_supprimer).variable) |
liberation(s_etat_processus, (*(*l_element_a_supprimer).variable) |
.objet); |
.objet); |
free((*(*l_element_a_supprimer).variable).nom); |
free((*(*l_element_a_supprimer).variable).nom); |
|
pthread_mutex_unlock(&((*(*l_element_a_supprimer).variable).mutex)); |
|
pthread_mutex_destroy(&((*(*l_element_a_supprimer).variable).mutex)); |
free((*l_element_a_supprimer).variable); |
free((*l_element_a_supprimer).variable); |
free(l_element_a_supprimer); |
free(l_element_a_supprimer); |
|
|