Diff for /rpl/src/instructions_m4.c between versions 1.31 and 1.33

version 1.31, 2011/09/14 17:55:59 version 1.33, 2011/09/20 09:51:42
Line 416  instruction_mtxlock(struct_processus *s_ Line 416  instruction_mtxlock(struct_processus *s_
             }              }
         }          }
   
         if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) != 0)          if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;
Line 425  instruction_mtxlock(struct_processus *s_ Line 425  instruction_mtxlock(struct_processus *s_
         if (pthread_mutex_lock(&((*((struct_mutex *) (*s_objet_argument).objet))          if (pthread_mutex_lock(&((*((struct_mutex *) (*s_objet_argument).objet))
                 .mutex)) != 0)                  .mutex)) != 0)
         {          {
             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;
                   }
             }              }
   
             liberation(s_etat_processus, s_objet_argument);              liberation(s_etat_processus, s_objet_argument);
Line 442  instruction_mtxlock(struct_processus *s_ Line 445  instruction_mtxlock(struct_processus *s_
             return;              return;
         }          }
   
         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).profilage == d_vrai)          if ((*s_etat_processus).profilage == d_vrai)

Removed from v.1.31  
changed lines
  Added in v.1.33


CVSweb interface <joel.bertrand@systella.fr>