version 1.17, 2011/04/11 12:10:10
|
version 1.43, 2013/02/26 19:56:16
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.0.prerelease.0 |
RPL/2 (R) version 4.1.12 |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
Copyright (C) 1989-2013 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 47 instruction_sub(struct_processus *s_etat
|
Line 47 instruction_sub(struct_processus *s_etat
|
struct_objet *s_objet_argument_3; |
struct_objet *s_objet_argument_3; |
struct_objet *s_objet_resultat; |
struct_objet *s_objet_resultat; |
|
|
|
unsigned char *ptr1; |
|
unsigned char *ptr2; |
|
|
unsigned long i; |
unsigned long i; |
|
|
(*s_etat_processus).erreur_execution = d_ex; |
(*s_etat_processus).erreur_execution = d_ex; |
Line 144 instruction_sub(struct_processus *s_etat
|
Line 147 instruction_sub(struct_processus *s_etat
|
if ((*s_objet_argument_3).type == CHN) |
if ((*s_objet_argument_3).type == CHN) |
{ |
{ |
if ((*((integer8 *) (*s_objet_argument_1).objet)) > (integer8) |
if ((*((integer8 *) (*s_objet_argument_1).objet)) > (integer8) |
strlen((unsigned char *) (*s_objet_argument_3).objet)) |
longueur_chaine(s_etat_processus, |
|
(unsigned char *) (*s_objet_argument_3).objet)) |
{ |
{ |
liberation(s_etat_processus, s_objet_argument_1); |
liberation(s_etat_processus, s_objet_argument_1); |
liberation(s_etat_processus, s_objet_argument_2); |
liberation(s_etat_processus, s_objet_argument_2); |
Line 160 instruction_sub(struct_processus *s_etat
|
Line 164 instruction_sub(struct_processus *s_etat
|
return; |
return; |
} |
} |
|
|
if (((*s_objet_resultat).objet = extraction_chaine((unsigned char *) |
if ((ptr1 = pointeur_ieme_caractere(s_etat_processus, (unsigned char *) |
(*s_objet_argument_3).objet, (*((integer8 *) |
(*s_objet_argument_3).objet, (*((integer8 *) |
(*s_objet_argument_2).objet)), (*((integer8 *) |
(*s_objet_argument_2).objet)) - 1)) == NULL) |
(*s_objet_argument_1).objet)))) == NULL) |
{ |
|
liberation(s_etat_processus, s_objet_argument_1); |
|
liberation(s_etat_processus, s_objet_argument_2); |
|
liberation(s_etat_processus, s_objet_argument_3); |
|
|
|
(*s_etat_processus).erreur_execution = d_ex_argument_invalide; |
|
return; |
|
} |
|
|
|
if ((ptr2 = pointeur_ieme_caractere(s_etat_processus, ptr1, |
|
(*((integer8 *) (*s_objet_argument_1).objet)) |
|
- ((*((integer8 *) (*s_objet_argument_2).objet)) - 1))) == NULL) |
|
{ |
|
liberation(s_etat_processus, s_objet_argument_1); |
|
liberation(s_etat_processus, s_objet_argument_2); |
|
liberation(s_etat_processus, s_objet_argument_3); |
|
|
|
(*s_etat_processus).erreur_execution = d_ex_argument_invalide; |
|
return; |
|
} |
|
|
|
if (((*s_objet_resultat).objet = malloc(((ptr2 - ptr1) + 1) * |
|
sizeof(unsigned char))) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
return; |
return; |
} |
} |
|
|
|
strncpy((unsigned char *) (*s_objet_resultat).objet, ptr1, |
|
ptr2 - ptr1)[ptr2 - ptr1] = d_code_fin_chaine; |
} |
} |
|
|
/* |
/* |
Line 436 instruction_sto_plus(struct_processus *s
|
Line 465 instruction_sto_plus(struct_processus *s
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_2); |
liberation(s_etat_processus, s_objet_2); |
Line 456 instruction_sto_plus(struct_processus *s
|
Line 485 instruction_sto_plus(struct_processus *s
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 504 instruction_sto_plus(struct_processus *s
|
Line 516 instruction_sto_plus(struct_processus *s
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 536 instruction_sto_plus(struct_processus *s
|
Line 546 instruction_sto_plus(struct_processus *s
|
else |
else |
{ |
{ |
if ((s_objet_3 = copie_objet(s_etat_processus, |
if ((s_objet_3 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 565 instruction_sto_plus(struct_processus *s
|
Line 574 instruction_sto_plus(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 581 instruction_sto_plus(struct_processus *s
|
Line 590 instruction_sto_plus(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 602 instruction_sto_plus(struct_processus *s
|
Line 611 instruction_sto_plus(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 628 instruction_sto_plus(struct_processus *s
|
Line 637 instruction_sto_plus(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
== d_erreur) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 662 instruction_sto_plus(struct_processus *s
|
Line 669 instruction_sto_plus(struct_processus *s
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 671 instruction_sto_plus(struct_processus *s
|
Line 678 instruction_sto_plus(struct_processus *s
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante).objet)) |
.position_variable_courante].objet)) == d_erreur) |
== d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 728 instruction_sto_plus(struct_processus *s
|
Line 734 instruction_sto_plus(struct_processus *s
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_2); |
liberation(s_etat_processus, s_objet_2); |
Line 748 instruction_sto_plus(struct_processus *s
|
Line 754 instruction_sto_plus(struct_processus *s
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 796 instruction_sto_plus(struct_processus *s
|
Line 785 instruction_sto_plus(struct_processus *s
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 828 instruction_sto_plus(struct_processus *s
|
Line 815 instruction_sto_plus(struct_processus *s
|
else |
else |
{ |
{ |
if ((s_objet_3 = copie_objet(s_etat_processus, |
if ((s_objet_3 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 857 instruction_sto_plus(struct_processus *s
|
Line 843 instruction_sto_plus(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 873 instruction_sto_plus(struct_processus *s
|
Line 859 instruction_sto_plus(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 894 instruction_sto_plus(struct_processus *s
|
Line 880 instruction_sto_plus(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 920 instruction_sto_plus(struct_processus *s
|
Line 906 instruction_sto_plus(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
== d_erreur) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 954 instruction_sto_plus(struct_processus *s
|
Line 938 instruction_sto_plus(struct_processus *s
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 963 instruction_sto_plus(struct_processus *s
|
Line 947 instruction_sto_plus(struct_processus *s
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante).objet)) |
.position_variable_courante].objet)) == d_erreur) |
== d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 1177 instruction_sto_moins(struct_processus *
|
Line 1160 instruction_sto_moins(struct_processus *
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_2); |
liberation(s_etat_processus, s_objet_2); |
Line 1197 instruction_sto_moins(struct_processus *
|
Line 1180 instruction_sto_moins(struct_processus *
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 1245 instruction_sto_moins(struct_processus *
|
Line 1211 instruction_sto_moins(struct_processus *
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1277 instruction_sto_moins(struct_processus *
|
Line 1241 instruction_sto_moins(struct_processus *
|
else |
else |
{ |
{ |
if ((s_objet_3 = copie_objet(s_etat_processus, |
if ((s_objet_3 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 1306 instruction_sto_moins(struct_processus *
|
Line 1269 instruction_sto_moins(struct_processus *
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1322 instruction_sto_moins(struct_processus *
|
Line 1285 instruction_sto_moins(struct_processus *
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1343 instruction_sto_moins(struct_processus *
|
Line 1306 instruction_sto_moins(struct_processus *
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1369 instruction_sto_moins(struct_processus *
|
Line 1332 instruction_sto_moins(struct_processus *
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) == d_erreur) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1403 instruction_sto_moins(struct_processus *
|
Line 1363 instruction_sto_moins(struct_processus *
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1412 instruction_sto_moins(struct_processus *
|
Line 1372 instruction_sto_moins(struct_processus *
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].objet)) == d_erreur) |
.objet)) == d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 1469 instruction_sto_moins(struct_processus *
|
Line 1428 instruction_sto_moins(struct_processus *
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_2); |
liberation(s_etat_processus, s_objet_2); |
Line 1489 instruction_sto_moins(struct_processus *
|
Line 1448 instruction_sto_moins(struct_processus *
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 1537 instruction_sto_moins(struct_processus *
|
Line 1479 instruction_sto_moins(struct_processus *
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1569 instruction_sto_moins(struct_processus *
|
Line 1509 instruction_sto_moins(struct_processus *
|
else |
else |
{ |
{ |
if ((s_objet_3 = copie_objet(s_etat_processus, |
if ((s_objet_3 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 1598 instruction_sto_moins(struct_processus *
|
Line 1537 instruction_sto_moins(struct_processus *
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1614 instruction_sto_moins(struct_processus *
|
Line 1553 instruction_sto_moins(struct_processus *
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1635 instruction_sto_moins(struct_processus *
|
Line 1574 instruction_sto_moins(struct_processus *
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1661 instruction_sto_moins(struct_processus *
|
Line 1600 instruction_sto_moins(struct_processus *
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) == d_erreur) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1695 instruction_sto_moins(struct_processus *
|
Line 1631 instruction_sto_moins(struct_processus *
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 1704 instruction_sto_moins(struct_processus *
|
Line 1640 instruction_sto_moins(struct_processus *
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].objet)) == d_erreur) |
.objet)) == d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 1918 instruction_sto_fois(struct_processus *s
|
Line 1853 instruction_sto_fois(struct_processus *s
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_2); |
liberation(s_etat_processus, s_objet_2); |
Line 1938 instruction_sto_fois(struct_processus *s
|
Line 1873 instruction_sto_fois(struct_processus *s
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 1986 instruction_sto_fois(struct_processus *s
|
Line 1904 instruction_sto_fois(struct_processus *s
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2018 instruction_sto_fois(struct_processus *s
|
Line 1934 instruction_sto_fois(struct_processus *s
|
else |
else |
{ |
{ |
if ((s_objet_3 = copie_objet(s_etat_processus, |
if ((s_objet_3 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 2047 instruction_sto_fois(struct_processus *s
|
Line 1962 instruction_sto_fois(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2063 instruction_sto_fois(struct_processus *s
|
Line 1978 instruction_sto_fois(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2084 instruction_sto_fois(struct_processus *s
|
Line 1999 instruction_sto_fois(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2110 instruction_sto_fois(struct_processus *s
|
Line 2025 instruction_sto_fois(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) == d_erreur) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2144 instruction_sto_fois(struct_processus *s
|
Line 2056 instruction_sto_fois(struct_processus *s
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2153 instruction_sto_fois(struct_processus *s
|
Line 2065 instruction_sto_fois(struct_processus *s
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante).objet)) |
.position_variable_courante].objet)) == d_erreur) |
== d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 2210 instruction_sto_fois(struct_processus *s
|
Line 2121 instruction_sto_fois(struct_processus *s
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_2); |
liberation(s_etat_processus, s_objet_2); |
Line 2230 instruction_sto_fois(struct_processus *s
|
Line 2141 instruction_sto_fois(struct_processus *s
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 2278 instruction_sto_fois(struct_processus *s
|
Line 2172 instruction_sto_fois(struct_processus *s
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2310 instruction_sto_fois(struct_processus *s
|
Line 2202 instruction_sto_fois(struct_processus *s
|
else |
else |
{ |
{ |
if ((s_objet_3 = copie_objet(s_etat_processus, |
if ((s_objet_3 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 2339 instruction_sto_fois(struct_processus *s
|
Line 2230 instruction_sto_fois(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2355 instruction_sto_fois(struct_processus *s
|
Line 2246 instruction_sto_fois(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2376 instruction_sto_fois(struct_processus *s
|
Line 2267 instruction_sto_fois(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2402 instruction_sto_fois(struct_processus *s
|
Line 2293 instruction_sto_fois(struct_processus *s
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) == d_erreur) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2436 instruction_sto_fois(struct_processus *s
|
Line 2324 instruction_sto_fois(struct_processus *s
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2445 instruction_sto_fois(struct_processus *s
|
Line 2333 instruction_sto_fois(struct_processus *s
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante).objet)) |
.position_variable_courante].objet)) == d_erreur) |
== d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 2659 instruction_sto_division(struct_processu
|
Line 2546 instruction_sto_division(struct_processu
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_2); |
liberation(s_etat_processus, s_objet_2); |
Line 2679 instruction_sto_division(struct_processu
|
Line 2566 instruction_sto_division(struct_processu
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 2727 instruction_sto_division(struct_processu
|
Line 2597 instruction_sto_division(struct_processu
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2759 instruction_sto_division(struct_processu
|
Line 2627 instruction_sto_division(struct_processu
|
else |
else |
{ |
{ |
if ((s_objet_3 = copie_objet(s_etat_processus, |
if ((s_objet_3 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 2788 instruction_sto_division(struct_processu
|
Line 2655 instruction_sto_division(struct_processu
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2804 instruction_sto_division(struct_processu
|
Line 2671 instruction_sto_division(struct_processu
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2825 instruction_sto_division(struct_processu
|
Line 2692 instruction_sto_division(struct_processu
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2851 instruction_sto_division(struct_processu
|
Line 2718 instruction_sto_division(struct_processu
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) == d_erreur) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2885 instruction_sto_division(struct_processu
|
Line 2749 instruction_sto_division(struct_processu
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 2894 instruction_sto_division(struct_processu
|
Line 2758 instruction_sto_division(struct_processu
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante).objet)) |
.position_variable_courante].objet)) == d_erreur) |
== d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 2951 instruction_sto_division(struct_processu
|
Line 2814 instruction_sto_division(struct_processu
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_2); |
liberation(s_etat_processus, s_objet_2); |
Line 2971 instruction_sto_division(struct_processu
|
Line 2834 instruction_sto_division(struct_processu
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 3019 instruction_sto_division(struct_processu
|
Line 2865 instruction_sto_division(struct_processu
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_3 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3051 instruction_sto_division(struct_processu
|
Line 2895 instruction_sto_division(struct_processu
|
else |
else |
{ |
{ |
if ((s_objet_3 = copie_objet(s_etat_processus, |
if ((s_objet_3 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 3080 instruction_sto_division(struct_processu
|
Line 2923 instruction_sto_division(struct_processu
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3096 instruction_sto_division(struct_processu
|
Line 2939 instruction_sto_division(struct_processu
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3117 instruction_sto_division(struct_processu
|
Line 2960 instruction_sto_division(struct_processu
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3143 instruction_sto_division(struct_processu
|
Line 2986 instruction_sto_division(struct_processu
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) == d_erreur) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3177 instruction_sto_division(struct_processu
|
Line 3017 instruction_sto_division(struct_processu
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3186 instruction_sto_division(struct_processu
|
Line 3026 instruction_sto_division(struct_processu
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante).objet)) |
.position_variable_courante].objet)) == d_erreur) |
== d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 3362 instruction_sneg(struct_processus *s_eta
|
Line 3201 instruction_sneg(struct_processus *s_eta
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 3381 instruction_sneg(struct_processus *s_eta
|
Line 3220 instruction_sneg(struct_processus *s_eta
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 3428 instruction_sneg(struct_processus *s_eta
|
Line 3250 instruction_sneg(struct_processus *s_eta
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3459 instruction_sneg(struct_processus *s_eta
|
Line 3279 instruction_sneg(struct_processus *s_eta
|
else |
else |
{ |
{ |
if ((s_objet_2 = copie_objet(s_etat_processus, |
if ((s_objet_2 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 3487 instruction_sneg(struct_processus *s_eta
|
Line 3306 instruction_sneg(struct_processus *s_eta
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3507 instruction_sneg(struct_processus *s_eta
|
Line 3326 instruction_sneg(struct_processus *s_eta
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3533 instruction_sneg(struct_processus *s_eta
|
Line 3352 instruction_sneg(struct_processus *s_eta
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) == d_erreur) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3567 instruction_sneg(struct_processus *s_eta
|
Line 3383 instruction_sneg(struct_processus *s_eta
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3576 instruction_sneg(struct_processus *s_eta
|
Line 3392 instruction_sneg(struct_processus *s_eta
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante).objet)) |
.position_variable_courante].objet)) == d_erreur) |
== d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 3750 instruction_sinv(struct_processus *s_eta
|
Line 3565 instruction_sinv(struct_processus *s_eta
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 3769 instruction_sinv(struct_processus *s_eta
|
Line 3584 instruction_sinv(struct_processus *s_eta
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 3816 instruction_sinv(struct_processus *s_eta
|
Line 3614 instruction_sinv(struct_processus *s_eta
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3847 instruction_sinv(struct_processus *s_eta
|
Line 3643 instruction_sinv(struct_processus *s_eta
|
else |
else |
{ |
{ |
if ((s_objet_2 = copie_objet(s_etat_processus, |
if ((s_objet_2 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 3875 instruction_sinv(struct_processus *s_eta
|
Line 3670 instruction_sinv(struct_processus *s_eta
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3895 instruction_sinv(struct_processus *s_eta
|
Line 3690 instruction_sinv(struct_processus *s_eta
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3921 instruction_sinv(struct_processus *s_eta
|
Line 3716 instruction_sinv(struct_processus *s_eta
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) == d_erreur) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3955 instruction_sinv(struct_processus *s_eta
|
Line 3747 instruction_sinv(struct_processus *s_eta
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 3964 instruction_sinv(struct_processus *s_eta
|
Line 3756 instruction_sinv(struct_processus *s_eta
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante).objet)) |
.position_variable_courante].objet)) == d_erreur) |
== d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 4138 instruction_sconj(struct_processus *s_et
|
Line 3929 instruction_sconj(struct_processus *s_et
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante) |
.position_variable_courante].variable_verrouillee == d_vrai) |
.variable_verrouillee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|
Line 4157 instruction_sconj(struct_processus *s_et
|
Line 3948 instruction_sconj(struct_processus *s_et
|
return; |
return; |
} |
} |
|
|
if ((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) |
.position_variable_courante].objet == 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, |
if (recherche_variable_partagee(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
.position_variable_courante].nom, (*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante) |
.s_liste_variables[(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.position_variable_courante].variable_partagee, |
.pointeur_variable_courante).origine) == NULL) |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
|
.position_variable_courante].origine) == d_faux) |
|
{ |
{ |
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_systeme = d_es; |
(*s_etat_processus).erreur_execution = |
(*s_etat_processus).erreur_execution = |
d_ex_variable_non_definie; |
d_ex_variable_non_definie; |
Line 4204 instruction_sconj(struct_processus *s_et
|
Line 3978 instruction_sconj(struct_processus *s_et
|
variable_partagee = d_vrai; |
variable_partagee = d_vrai; |
|
|
if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
if ((s_objet_2 = copie_objet(s_etat_processus, (*(*s_etat_processus) |
.s_liste_variables_partagees).table |
.pointeur_variable_partagee_courante).objet, 'P')) == NULL) |
[(*(*s_etat_processus).s_liste_variables_partagees) |
|
.position_variable].objet, 'P')) == NULL) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 4235 instruction_sconj(struct_processus *s_et
|
Line 4007 instruction_sconj(struct_processus *s_et
|
else |
else |
{ |
{ |
if ((s_objet_2 = copie_objet(s_etat_processus, |
if ((s_objet_2 = copie_objet(s_etat_processus, |
(*s_etat_processus).s_liste_variables |
(*(*s_etat_processus).pointeur_variable_courante).objet, |
[(*s_etat_processus).position_variable_courante].objet, |
|
'P')) == NULL) |
'P')) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 4263 instruction_sconj(struct_processus *s_et
|
Line 4034 instruction_sconj(struct_processus *s_et
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 4283 instruction_sconj(struct_processus *s_et
|
Line 4054 instruction_sconj(struct_processus *s_et
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 4309 instruction_sconj(struct_processus *s_et
|
Line 4080 instruction_sconj(struct_processus *s_et
|
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*(*s_etat_processus).s_liste_variables_partagees) |
(*(*s_etat_processus).pointeur_variable_partagee_courante) |
.table[(*(*s_etat_processus).s_liste_variables_partagees) |
.objet); |
.position_variable].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
(struct_objet **) &((*(*s_etat_processus) |
(struct_objet **) &((*(*s_etat_processus) |
.s_liste_variables_partagees).table[(*(*s_etat_processus) |
.pointeur_variable_partagee_courante).objet)) == d_erreur) |
.s_liste_variables_partagees).position_variable].objet)) |
|
== d_erreur) |
|
{ |
{ |
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 4343 instruction_sconj(struct_processus *s_et
|
Line 4111 instruction_sconj(struct_processus *s_et
|
} |
} |
|
|
if (pthread_mutex_unlock(&((*(*s_etat_processus) |
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; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
return; |
Line 4352 instruction_sconj(struct_processus *s_et
|
Line 4120 instruction_sconj(struct_processus *s_et
|
else |
else |
{ |
{ |
liberation(s_etat_processus, |
liberation(s_etat_processus, |
(*s_etat_processus).s_liste_variables[(*s_etat_processus) |
(*(*s_etat_processus).pointeur_variable_courante).objet); |
.position_variable_courante].objet); |
|
|
|
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
if (depilement(s_etat_processus, &((*s_etat_processus).l_base_pile), |
&((*s_etat_processus).s_liste_variables[(*s_etat_processus) |
&((*(*s_etat_processus).pointeur_variable_courante).objet)) |
.position_variable_courante].objet)) == d_erreur) |
== d_erreur) |
{ |
{ |
liberation(s_etat_processus, s_objet_1); |
liberation(s_etat_processus, s_objet_1); |
|
|