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

version 1.50, 2013/03/23 16:14:39 version 1.76, 2017/07/12 15:42:42
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.13    RPL/2 (R) version 4.1.27
   Copyright (C) 1989-2013 Dr. BERTRAND Joël    Copyright (C) 1989-2017 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 46  sequenceur_optimise(struct_processus *s_ Line 47  sequenceur_optimise(struct_processus *s_
   
     logical1                    erreur;      logical1                    erreur;
   
       struct_liste_chainee        *l_bibliotheque_courante;
       struct_liste_chainee        *l_nouvelle_bibliotheque;
   
     struct_objet                *programme_principal;      struct_objet                *programme_principal;
   
     struct_tableau_variables    *tableau;      struct_tableau_variables    *tableau;
Line 79  sequenceur_optimise(struct_processus *s_ Line 83  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 99  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 160  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.76


CVSweb interface <joel.bertrand@systella.fr>