version 1.55, 2013/03/22 10:20:35
|
version 1.56, 2013/03/23 16:12:55
|
Line 53 instruction_fleche(struct_processus *s_e
|
Line 53 instruction_fleche(struct_processus *s_e
|
logical1 fin_scrutation; |
logical1 fin_scrutation; |
logical1 presence_expression_algebrique; |
logical1 presence_expression_algebrique; |
|
|
|
pthread_mutexattr_t attributs_mutex; |
|
|
union_position_variable position_variable; |
union_position_variable position_variable; |
|
|
unsigned char instruction_valide; |
unsigned char instruction_valide; |
Line 593 instruction_fleche(struct_processus *s_e
|
Line 595 instruction_fleche(struct_processus *s_e
|
} |
} |
else |
else |
{ |
{ |
// Variable partagee à créer |
// Variable partagée à créer |
|
|
(*s_etat_processus).erreur_systeme = d_es; |
(*s_etat_processus).erreur_systeme = d_es; |
|
|
if ((s_variable_partagee.nom = malloc((strlen(s_variable.nom) |
if ((s_variable_partagee.nom = malloc((strlen(s_variable.nom) |
+ 1) * sizeof(unsigned char))) == NULL) |
+ 1) * sizeof(unsigned char))) == NULL) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
|
.pointeur_variable_partagee_courante).mutex)) != 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = d_es_processus; |
|
return; |
|
} |
|
|
|
(*s_etat_processus).erreur_systeme = |
(*s_etat_processus).erreur_systeme = |
d_es_allocation_memoire; |
d_es_allocation_memoire; |
return; |
return; |
Line 647 instruction_fleche(struct_processus *s_e
|
Line 642 instruction_fleche(struct_processus *s_e
|
(*s_etat_processus).objet_courant; |
(*s_etat_processus).objet_courant; |
} |
} |
|
|
|
// Création du mutex |
|
|
|
pthread_mutexattr_init(&attributs_mutex); |
|
pthread_mutexattr_settype(&attributs_mutex, |
|
PTHREAD_MUTEX_RECURSIVE); |
|
pthread_mutex_init(&(s_variable_partagee.mutex), |
|
&attributs_mutex); |
|
pthread_mutexattr_destroy(&attributs_mutex); |
|
|
s_variable_partagee.objet = (*l_emplacement_valeurs).donnee; |
s_variable_partagee.objet = (*l_emplacement_valeurs).donnee; |
(*l_emplacement_valeurs).donnee = NULL; |
(*l_emplacement_valeurs).donnee = NULL; |
|
|