--- rpl/src/instructions_s10.c 2011/03/06 16:44:13 1.29 +++ rpl/src/instructions_s10.c 2011/06/21 15:26:33 1.36 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.21 + RPL/2 (R) version 4.1.0.prerelease.2 Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -132,9 +132,7 @@ instruction_spawn(struct_processus *s_et if (recherche_variable(s_etat_processus, (*((struct_nom *) (*s_objet).objet)).nom) == d_vrai) { - if ((*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet - == NULL) + if ((*(*s_etat_processus).pointeur_variable_courante).objet == NULL) { if (pthread_mutex_lock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -144,13 +142,10 @@ instruction_spawn(struct_processus *s_et } if (recherche_variable_partagee(s_etat_processus, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].nom, - (*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante] - .variable_partagee, (*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].origine) == d_faux) + (*(*s_etat_processus).pointeur_variable_courante).nom, + (*(*s_etat_processus).pointeur_variable_courante) + .variable_partagee, (*(*s_etat_processus) + .pointeur_variable_courante).origine) == d_faux) { if (pthread_mutex_unlock(&((*(*s_etat_processus) .s_liste_variables_partagees).mutex)) != 0) @@ -219,11 +214,9 @@ instruction_spawn(struct_processus *s_et } else { - if (((*(*s_etat_processus).s_liste_variables - [(*s_etat_processus).position_variable_courante].objet) - .type != RPN) && ((*(*s_etat_processus) - .s_liste_variables[(*s_etat_processus) - .position_variable_courante].objet).type != ADR)) + if (((*(*(*s_etat_processus).pointeur_variable_courante).objet) + .type != RPN) && ((*(*(*s_etat_processus) + .pointeur_variable_courante).objet).type != ADR)) { liberation(s_etat_processus, s_objet); @@ -404,6 +397,7 @@ instruction_spawn(struct_processus *s_et } # ifndef OS2 +# ifndef Cygwin if (pthread_attr_setschedpolicy(&attributs, SCHED_OTHER) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -422,6 +416,7 @@ instruction_spawn(struct_processus *s_et return; } # endif +# endif /* * Création de l'objet à retourner @@ -505,6 +500,7 @@ instruction_spawn(struct_processus *s_et } # ifndef OS2 +# ifndef Cygwin if (pthread_attr_setschedpolicy(&attributs, SCHED_OTHER) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -524,6 +520,7 @@ instruction_spawn(struct_processus *s_et return; } # endif +# endif // Attente de l'affectation de la grandeur processus.tid par le thread fils.