Diff for /rpl/src/optimisation.c between versions 1.50 and 1.84

version 1.50, 2013/03/23 16:14:39 version 1.84, 2020/01/10 11:15:50
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.13    RPL/2 (R) version 4.1.32
   Copyright (C) 1989-2013 Dr. BERTRAND Joël    Copyright (C) 1989-2020 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 36 Line 36
 */  */
   
 logical1  logical1
 sequenceur_optimise(struct_processus *s_etat_processus)  sequenceur_optimise(struct_processus *s_etat_processus, struct_liste_chainee
           *l_bibliotheques)
 {  {
     integer8                    adresse_point_entree;      integer8                    adresse_point_entree;
     integer8                    i;      integer8                    i;
Line 79  sequenceur_optimise(struct_processus *s_ Line 80  sequenceur_optimise(struct_processus *s_
     (*s_etat_processus).autorisation_empilement_programme = 'Y';      (*s_etat_processus).autorisation_empilement_programme = 'Y';
     (*s_etat_processus).mode_execution_programme = 'N';      (*s_etat_processus).mode_execution_programme = 'N';
   
     if (pthread_mutex_lock(&mutex_liste_variables_partagees) != 0)  
     {  
         (*s_etat_processus).erreur_systeme = d_es_processus;  
         return(d_erreur);  
     }  
   
     nb_variables = nombre_variables(s_etat_processus);      nb_variables = nombre_variables(s_etat_processus);
   
     if ((tableau = malloc(((size_t) nb_variables) *      if ((tableau = malloc(((size_t) nb_variables) *
Line 101  sequenceur_optimise(struct_processus *s_ Line 96  sequenceur_optimise(struct_processus *s_
   
         liberation_mutexes_arbre_variables_partagees(s_etat_processus,          liberation_mutexes_arbre_variables_partagees(s_etat_processus,
                 (*(*s_etat_processus).s_arbre_variables_partagees));                  (*(*s_etat_processus).s_arbre_variables_partagees));
         pthread_mutex_unlock(&mutex_liste_variables_partagees);  
         return(d_erreur);          return(d_erreur);
     }      }
   
     nb_variables = liste_variables(s_etat_processus, tableau);      nb_variables = liste_variables(s_etat_processus, tableau);
   
     if (pthread_mutex_unlock(&mutex_liste_variables_partagees) != 0)  
     {  
         (*s_etat_processus).erreur_systeme = d_es_processus;  
         return(d_erreur);  
     }  
   
     for(i = 0; i < nb_variables; i++)      for(i = 0; i < nb_variables; i++)
     {      {
         if (tableau[i].niveau == 0)          if (tableau[i].niveau == 0)
Line 169  sequenceur_optimise(struct_processus *s_ Line 157  sequenceur_optimise(struct_processus *s_
   
             registre = (*s_etat_processus).autorisation_nom_implicite;              registre = (*s_etat_processus).autorisation_nom_implicite;
             (*s_etat_processus).autorisation_nom_implicite = 'Y';              (*s_etat_processus).autorisation_nom_implicite = 'Y';
               (*s_etat_processus).type_en_cours = NON;
             recherche_type(s_etat_processus);              recherche_type(s_etat_processus);
             (*s_etat_processus).autorisation_nom_implicite = registre;              (*s_etat_processus).autorisation_nom_implicite = registre;
   

Removed from v.1.50  
changed lines
  Added in v.1.84


CVSweb interface <joel.bertrand@systella.fr>