version 1.32, 2011/07/22 07:38:40
|
version 1.55, 2014/01/26 18:21:33
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.1 |
RPL/2 (R) version 4.1.17 |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
Copyright (C) 1989-2014 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 44 instruction_trn(struct_processus *s_etat
|
Line 44 instruction_trn(struct_processus *s_etat
|
logical1 argument_nom; |
logical1 argument_nom; |
logical1 variable_partagee; |
logical1 variable_partagee; |
|
|
unsigned long i; |
integer8 i; |
unsigned long j; |
integer8 j; |
|
|
(*s_etat_processus).erreur_execution = d_ex; |
(*s_etat_processus).erreur_execution = d_ex; |
|
|
Line 123 instruction_trn(struct_processus *s_etat
|
Line 123 instruction_trn(struct_processus *s_etat
|
} |
} |
else |
else |
{ |
{ |
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).pointeur_variable_courante).nom, |
(*(*s_etat_processus).pointeur_variable_courante).nom, |
(*(*s_etat_processus).pointeur_variable_courante) |
(*(*s_etat_processus).pointeur_variable_courante) |
.variable_partagee, (*(*s_etat_processus) |
.variable_partagee, (*(*s_etat_processus) |
.pointeur_variable_courante).origine) == d_faux) |
.pointeur_variable_courante).origine) == NULL) |
{ |
{ |
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 173 instruction_trn(struct_processus *s_etat
|
Line 159 instruction_trn(struct_processus *s_etat
|
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 192 instruction_trn(struct_processus *s_etat
|
Line 178 instruction_trn(struct_processus *s_etat
|
.nombre_lignes; |
.nombre_lignes; |
|
|
if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = |
if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = |
malloc((*((struct_matrice *) (*s_objet_resultat).objet)) |
malloc(((size_t) (*((struct_matrice *) (*s_objet_resultat) |
.nombre_lignes * sizeof(integer8 *))) == NULL) |
.objet)).nombre_lignes) * sizeof(integer8 *))) == NULL) |
{ |
{ |
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 213 instruction_trn(struct_processus *s_etat
|
Line 199 instruction_trn(struct_processus *s_etat
|
.nombre_lignes; i++) |
.nombre_lignes; i++) |
{ |
{ |
if ((((integer8 **) (*((struct_matrice *) (*s_objet_resultat) |
if ((((integer8 **) (*((struct_matrice *) (*s_objet_resultat) |
.objet)).tableau)[i] = |
.objet)).tableau)[i] = malloc(((size_t) |
malloc((*((struct_matrice *) (*s_objet_resultat).objet)) |
(*((struct_matrice *) (*s_objet_resultat).objet)) |
.nombre_colonnes * sizeof(integer8))) == NULL) |
.nombre_colonnes) * sizeof(integer8))) == NULL) |
{ |
{ |
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 255 instruction_trn(struct_processus *s_etat
|
Line 241 instruction_trn(struct_processus *s_etat
|
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 274 instruction_trn(struct_processus *s_etat
|
Line 260 instruction_trn(struct_processus *s_etat
|
.nombre_lignes; |
.nombre_lignes; |
|
|
if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = |
if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = |
malloc((*((struct_matrice *) (*s_objet_resultat).objet)) |
malloc(((size_t) (*((struct_matrice *) (*s_objet_resultat) |
.nombre_lignes * sizeof(real8 *))) == NULL) |
.objet)).nombre_lignes) * sizeof(real8 *))) == NULL) |
{ |
{ |
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 295 instruction_trn(struct_processus *s_etat
|
Line 281 instruction_trn(struct_processus *s_etat
|
.nombre_lignes; i++) |
.nombre_lignes; i++) |
{ |
{ |
if ((((real8 **) (*((struct_matrice *) (*s_objet_resultat) |
if ((((real8 **) (*((struct_matrice *) (*s_objet_resultat) |
.objet)).tableau)[i] = |
.objet)).tableau)[i] = malloc(((size_t) |
malloc((*((struct_matrice *) (*s_objet_resultat).objet)) |
(*((struct_matrice *) (*s_objet_resultat).objet)) |
.nombre_colonnes * sizeof(real8))) == NULL) |
.nombre_colonnes) * sizeof(real8))) == NULL) |
{ |
{ |
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 337 instruction_trn(struct_processus *s_etat
|
Line 323 instruction_trn(struct_processus *s_etat
|
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 356 instruction_trn(struct_processus *s_etat
|
Line 342 instruction_trn(struct_processus *s_etat
|
.nombre_lignes; |
.nombre_lignes; |
|
|
if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = |
if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau = |
malloc((*((struct_matrice *) (*s_objet_resultat).objet)) |
malloc(((size_t) (*((struct_matrice *) (*s_objet_resultat) |
.nombre_lignes * sizeof(struct_complexe16 *))) == NULL) |
.objet)).nombre_lignes) * sizeof(struct_complexe16 *))) == NULL) |
{ |
{ |
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 378 instruction_trn(struct_processus *s_etat
|
Line 364 instruction_trn(struct_processus *s_etat
|
{ |
{ |
if ((((struct_complexe16 **) (*((struct_matrice *) |
if ((((struct_complexe16 **) (*((struct_matrice *) |
(*s_objet_resultat).objet)).tableau)[i] = |
(*s_objet_resultat).objet)).tableau)[i] = |
malloc((*((struct_matrice *) |
malloc(((size_t) (*((struct_matrice *) |
(*s_objet_resultat).objet)).nombre_colonnes * |
(*s_objet_resultat).objet)).nombre_colonnes) * |
sizeof(struct_complexe16))) == NULL) |
sizeof(struct_complexe16))) == NULL) |
{ |
{ |
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 431 instruction_trn(struct_processus *s_etat
|
Line 417 instruction_trn(struct_processus *s_etat
|
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 456 instruction_trn(struct_processus *s_etat
|
Line 442 instruction_trn(struct_processus *s_etat
|
{ |
{ |
if (variable_partagee == d_vrai) |
if (variable_partagee == d_vrai) |
{ |
{ |
(*(*s_etat_processus).s_liste_variables_partagees).table |
(*(*s_etat_processus).pointeur_variable_partagee_courante).objet = |
[(*(*s_etat_processus).s_liste_variables_partagees) |
s_objet_resultat; |
.position_variable].objet = s_objet_resultat; |
|
|
|
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 497 instruction_tot(struct_processus *s_etat
|
Line 482 instruction_tot(struct_processus *s_etat
|
struct_objet *s_objet_resultat; |
struct_objet *s_objet_resultat; |
struct_objet *s_objet_temporaire; |
struct_objet *s_objet_temporaire; |
|
|
unsigned long nombre_colonnes; |
integer8 nombre_colonnes; |
|
|
(*s_etat_processus).erreur_execution = d_ex; |
(*s_etat_processus).erreur_execution = d_ex; |
|
|
Line 865 instruction_time(struct_processus *s_eta
|
Line 850 instruction_time(struct_processus *s_eta
|
} |
} |
|
|
(*((real8 *) (*(*l_element_courant).donnee).objet)) = |
(*((real8 *) (*(*l_element_courant).donnee).objet)) = |
s_usage_processus_pere.ru_utime.tv_sec + |
((real8) s_usage_processus_pere.ru_utime.tv_sec) + |
(((real8) s_usage_processus_pere.ru_utime.tv_usec) / |
(((real8) s_usage_processus_pere.ru_utime.tv_usec) / |
((real8) 1E6)); |
((real8) 1E6)); |
|
|
Line 890 instruction_time(struct_processus *s_eta
|
Line 875 instruction_time(struct_processus *s_eta
|
} |
} |
|
|
(*((real8 *) (*(*l_element_courant).donnee).objet)) = |
(*((real8 *) (*(*l_element_courant).donnee).objet)) = |
s_usage_processus_pere.ru_stime.tv_sec + |
((real8) s_usage_processus_pere.ru_stime.tv_sec) + |
(((real8) s_usage_processus_pere.ru_stime.tv_usec) / |
(((real8) s_usage_processus_pere.ru_stime.tv_usec) / |
((real8) 1E6)); |
((real8) 1E6)); |
|
|
Line 915 instruction_time(struct_processus *s_eta
|
Line 900 instruction_time(struct_processus *s_eta
|
} |
} |
|
|
(*((real8 *) (*(*l_element_courant).donnee).objet)) = |
(*((real8 *) (*(*l_element_courant).donnee).objet)) = |
s_usage_processus_fils.ru_utime.tv_sec + |
((real8) s_usage_processus_fils.ru_utime.tv_sec) + |
(((real8) s_usage_processus_fils.ru_utime.tv_usec) / |
(((real8) s_usage_processus_fils.ru_utime.tv_usec) / |
((real8) 1E6)); |
((real8) 1E6)); |
|
|
Line 940 instruction_time(struct_processus *s_eta
|
Line 925 instruction_time(struct_processus *s_eta
|
} |
} |
|
|
(*((real8 *) (*(*l_element_courant).donnee).objet)) = |
(*((real8 *) (*(*l_element_courant).donnee).objet)) = |
s_usage_processus_fils.ru_stime.tv_sec + |
((real8) s_usage_processus_fils.ru_stime.tv_sec) + |
(((real8) s_usage_processus_fils.ru_stime.tv_usec) / |
(((real8) s_usage_processus_fils.ru_stime.tv_usec) / |
((real8) 1E6)); |
((real8) 1E6)); |
|
|