Diff for /rpl/src/instructions_p7.c between versions 1.47 and 1.48

version 1.47, 2012/10/01 11:05:05 version 1.48, 2012/12/13 16:59:42
Line 1284  instruction_private(struct_processus *s_ Line 1284  instruction_private(struct_processus *s_
             return;              return;
         }          }
   
         if (pthread_mutex_lock(&((*(*s_etat_processus)  
                 .s_liste_variables_partagees).mutex)) != 0)  
         {  
             (*s_etat_processus).erreur_systeme = d_es_processus;  
             return;  
         }  
   
         if (recherche_variable_partagee(s_etat_processus, ((*((struct_nom *)          if (recherche_variable_partagee(s_etat_processus, ((*((struct_nom *)
                 (*s_objet).objet)).nom), (*(*s_etat_processus)                  (*s_objet).objet)).nom), (*(*s_etat_processus)
                 .pointeur_variable_courante).variable_partagee,                  .pointeur_variable_courante).variable_partagee,
                 (*(*s_etat_processus).pointeur_variable_courante).origine)                  (*(*s_etat_processus).pointeur_variable_courante).origine)
                 == d_faux)                  == d_faux)
         {          {
             if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             liberation(s_etat_processus, s_objet);              liberation(s_etat_processus, s_objet);
   
             (*s_etat_processus).erreur_systeme = d_es;              (*s_etat_processus).erreur_systeme = d_es;
Line 1311  instruction_private(struct_processus *s_ Line 1297  instruction_private(struct_processus *s_
         }          }
   
         (*(*s_etat_processus).pointeur_variable_courante).objet =          (*(*s_etat_processus).pointeur_variable_courante).objet =
                 (*(*s_etat_processus).s_liste_variables_partagees).table                  (*(*s_etat_processus).pointeur_variable_partagee_courante)
                 [(*(*s_etat_processus).s_liste_variables_partagees)                  .objet;
                 .position_variable].objet;          (*(*s_etat_processus).pointeur_variable_partagee_courante).objet = NULL;
         (*(*s_etat_processus).s_liste_variables_partagees).table  
                 [(*(*s_etat_processus).s_liste_variables_partagees)  
                 .position_variable].objet = NULL;  
   
         if (retrait_variable_partagee(s_etat_processus,          if (retrait_variable_partagee(s_etat_processus,
                 (*((struct_nom *) (*s_objet).objet)).nom,                  (*((struct_nom *) (*s_objet).objet)).nom,
                 (*(*s_etat_processus).pointeur_variable_courante)                  (*(*s_etat_processus).pointeur_variable_courante)
                 .variable_partagee) == d_erreur)                  .variable_partagee) == d_erreur)
         {          {
             if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             liberation(s_etat_processus, s_objet);              liberation(s_etat_processus, s_objet);
             return;              return;
         }          }
Line 1344  instruction_private(struct_processus *s_ Line 1320  instruction_private(struct_processus *s_
             (*(*s_etat_processus).pointeur_variable_courante)              (*(*s_etat_processus).pointeur_variable_courante)
                     .variable_partagee.pointeur = NULL;                      .variable_partagee.pointeur = NULL;
         }          }
   
         if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                 .s_liste_variables_partagees).mutex)) != 0)  
         {  
             (*s_etat_processus).erreur_systeme = d_es_processus;  
             return;  
         }  
     }      }
     else if ((*s_objet).type == LST)      else if ((*s_objet).type == LST)
     {      {
Line 1377  instruction_private(struct_processus *s_ Line 1346  instruction_private(struct_processus *s_
                 return;                  return;
             }              }
   
             if (pthread_mutex_lock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             if (recherche_variable_partagee(s_etat_processus, ((*((struct_nom *)              if (recherche_variable_partagee(s_etat_processus, ((*((struct_nom *)
                     (*s_objet).objet)).nom), (*(*s_etat_processus)                      (*s_objet).objet)).nom), (*(*s_etat_processus)
                     .pointeur_variable_courante).variable_partagee,                      .pointeur_variable_courante).variable_partagee,
                     (*(*s_etat_processus).pointeur_variable_courante).origine)                      (*(*s_etat_processus).pointeur_variable_courante).origine)
                     == d_faux)                      == d_faux)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 liberation(s_etat_processus, s_objet);                  liberation(s_etat_processus, s_objet);
   
                 (*s_etat_processus).erreur_systeme = d_es;                  (*s_etat_processus).erreur_systeme = d_es;
Line 1406  instruction_private(struct_processus *s_ Line 1361  instruction_private(struct_processus *s_
             }              }
   
             (*(*s_etat_processus).pointeur_variable_courante).objet =              (*(*s_etat_processus).pointeur_variable_courante).objet =
                     (*(*s_etat_processus).s_liste_variables_partagees).table                      (*(*s_etat_processus).pointeur_variable_partagee_courante)
                     [(*(*s_etat_processus).s_liste_variables_partagees)                      .objet;
                     .position_variable].objet;              (*(*s_etat_processus).pointeur_variable_partagee_courante).objet
             (*(*s_etat_processus).s_liste_variables_partagees).table                      = NULL;
                     [(*(*s_etat_processus).s_liste_variables_partagees)  
                     .position_variable].objet = NULL;  
   
             if ((*(*s_etat_processus).pointeur_variable_courante).origine              if ((*(*s_etat_processus).pointeur_variable_courante).origine
                     == 'P')                      == 'P')
Line 1430  instruction_private(struct_processus *s_ Line 1383  instruction_private(struct_processus *s_
                     (*(*s_etat_processus).pointeur_variable_courante)                      (*(*s_etat_processus).pointeur_variable_courante)
                     .variable_statique) == d_erreur)                      .variable_statique) == d_erreur)
             {              {
                 if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                         .s_liste_variables_partagees).mutex)) != 0)  
                 {  
                     (*s_etat_processus).erreur_systeme = d_es_processus;  
                     return;  
                 }  
   
                 liberation(s_etat_processus, s_objet);                  liberation(s_etat_processus, s_objet);
                 return;                  return;
             }              }
   
             if (pthread_mutex_unlock(&((*(*s_etat_processus)  
                     .s_liste_variables_partagees).mutex)) != 0)  
             {  
                 (*s_etat_processus).erreur_systeme = d_es_processus;  
                 return;  
             }  
   
             l_element_courant = (*l_element_courant).suivant;              l_element_courant = (*l_element_courant).suivant;
         }          }
     }      }

Removed from v.1.47  
changed lines
  Added in v.1.48


CVSweb interface <joel.bertrand@systella.fr>