Diff for /rpl/src/instructions_r4.c between versions 1.41 and 1.43

version 1.41, 2011/09/14 17:55:59 version 1.43, 2011/09/20 09:51:42
Line 2048  instruction_read(struct_processus *s_eta Line 2048  instruction_read(struct_processus *s_eta
                     return;                      return;
                 }                  }
   
                 if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork))                  if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)
                         != 0)  
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2109  instruction_read(struct_processus *s_eta Line 2108  instruction_read(struct_processus *s_eta
                         free(tampon_lecture);                          free(tampon_lecture);
                         liberation(s_etat_processus, s_objet_argument_1);                          liberation(s_etat_processus, s_objet_argument_1);
   
                         while(pthread_mutex_lock(&((*s_etat_processus)                          while(sem_wait(&((*s_etat_processus)
                                 .mutex_fork)) != 0)                                  .semaphore_fork)) != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme =                              (*s_etat_processus).erreur_systeme =
                                     d_es_processus;                                      d_es_processus;
Line 2137  instruction_read(struct_processus *s_eta Line 2136  instruction_read(struct_processus *s_eta
                     }                      }
                 }                  }
   
                 if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0)                  while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      if (errno = EINTR)
                     return;                      {
                           (*s_etat_processus).erreur_systeme = d_es_processus;
                           return;
                       }
                 }                  }
   
                 if ((*s_etat_processus).var_volatile_requete_arret == -1)                  if ((*s_etat_processus).var_volatile_requete_arret == -1)
Line 2536  instruction_read(struct_processus *s_eta Line 2538  instruction_read(struct_processus *s_eta
                     return;                      return;
                 }                  }
   
                 if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork))                  if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)
                         != 0)  
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      (*s_etat_processus).erreur_systeme = d_es_processus;
                     return;                      return;
Line 2596  instruction_read(struct_processus *s_eta Line 2597  instruction_read(struct_processus *s_eta
                         free(tampon_lecture);                          free(tampon_lecture);
                         liberation(s_etat_processus, s_objet_argument_1);                          liberation(s_etat_processus, s_objet_argument_1);
   
                         if (pthread_mutex_lock(&((*s_etat_processus)                          while(sem_wait(&((*s_etat_processus)
                                 .mutex_fork)) != 0)                                  .semaphore_fork)) != 0)
                         {                          {
                             (*s_etat_processus).erreur_systeme =                              if (errno != EINTR)
                                     d_es_processus;                              {
                             return;                                  (*s_etat_processus).erreur_systeme =
                                           d_es_processus;
                                   return;
                               }
                         }                          }
   
                         (*s_etat_processus).erreur_execution =                          (*s_etat_processus).erreur_execution =
Line 2623  instruction_read(struct_processus *s_eta Line 2627  instruction_read(struct_processus *s_eta
                     }                      }
                 }                  }
   
                 if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork))                  while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
                         != 0)  
                 {                  {
                     (*s_etat_processus).erreur_systeme = d_es_processus;                      if (errno != EINTR)
                     return;                      {
                           (*s_etat_processus).erreur_systeme = d_es_processus;
                           return;
                       }
                 }                  }
   
                 if ((*s_etat_processus).var_volatile_requete_arret == -1)                  if ((*s_etat_processus).var_volatile_requete_arret == -1)

Removed from v.1.41  
changed lines
  Added in v.1.43


CVSweb interface <joel.bertrand@systella.fr>