Diff for /rpl/src/instructions_m4.c between versions 1.54 and 1.76

version 1.54, 2013/03/20 22:24:36 version 1.76, 2018/12/24 15:55:58
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.13    RPL/2 (R) version 4.1.30
   Copyright (C) 1989-2013 Dr. BERTRAND Joël    Copyright (C) 1989-2018 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 153  instruction_mem(struct_processus *s_etat Line 153  instruction_mem(struct_processus *s_etat
         return;          return;
     }      }
   
     liste_variables(s_etat_processus, tableau);      nb_variables = liste_variables(s_etat_processus, tableau);
   
     for(j = 0; j < nb_variables; j++)      for(j = 0; j < nb_variables; j++)
     {      {
Line 163  instruction_mem(struct_processus *s_etat Line 163  instruction_mem(struct_processus *s_etat
         (*((integer8 *) (*((*((*((struct_liste_chainee *) (*s_objet_resultat)          (*((integer8 *) (*((*((*((struct_liste_chainee *) (*s_objet_resultat)
                 .objet)).suivant)).donnee)).objet)) += occupation_memoire(                  .objet)).suivant)).donnee)).objet)) += occupation_memoire(
                 tableau[j].objet);                  tableau[j].objet);
   
           if(tableau[j].mutex != NULL)
           {   // La variable est une variable partagée. On libère le mutex.
               pthread_mutex_unlock(tableau[j].mutex);
           }
     }      }
   
     free(tableau);      free(tableau);
Line 891  instruction_mtxunlock(struct_processus * Line 896  instruction_mtxunlock(struct_processus *
         {          {
             liberation(s_etat_processus, s_objet_argument);              liberation(s_etat_processus, s_objet_argument);
   
               (*s_etat_processus).erreur_systeme = d_es_processus;
               return;
           }
   
           if (pthread_mutex_unlock(&((*((struct_mutex *)
                   (*s_objet_argument).objet)).mutex)) != 0)
           {
               liberation(s_etat_processus, s_objet_argument);
   
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;
         }          }

Removed from v.1.54  
changed lines
  Added in v.1.76


CVSweb interface <joel.bertrand@systella.fr>