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

version 1.54, 2013/03/20 22:24:36 version 1.55, 2013/03/23 16:14:39
Line 142  instruction_mem(struct_processus *s_etat Line 142  instruction_mem(struct_processus *s_etat
     (*((integer8 *) (*((*((*((struct_liste_chainee *)      (*((integer8 *) (*((*((*((struct_liste_chainee *)
             (*s_objet_resultat).objet)).suivant)).donnee)).objet)) = 0;              (*s_objet_resultat).objet)).suivant)).donnee)).objet)) = 0;
   
       if (pthread_mutex_lock(&mutex_liste_variables_partagees) != 0)
       {
           (*s_etat_processus).erreur_systeme = d_es_processus;
           return;
       }
   
     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 149  instruction_mem(struct_processus *s_etat Line 155  instruction_mem(struct_processus *s_etat
     {      {
         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);
         (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;          (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
         return;          return;
     }      }
   
     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;
       }
   
     for(j = 0; j < nb_variables; j++)      for(j = 0; j < nb_variables; j++)
     {      {
Line 163  instruction_mem(struct_processus *s_etat Line 176  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);

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


CVSweb interface <joel.bertrand@systella.fr>