Diff for /rpl/src/instructions_p7.c between versions 1.34 and 1.35

version 1.34, 2011/09/14 14:34:28 version 1.35, 2011/09/14 17:55:59
Line 788  instruction_poke(struct_processus *s_eta Line 788  instruction_poke(struct_processus *s_eta
                         }                          }
                     }                      }
   
 #                   ifndef SEMAPHORES_NOMMES                      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;
                     }                      }
 #                   else  
                     if (sem_post((*s_etat_processus).semaphore_fork) != 0)  
                     {  
                         (*s_etat_processus).erreur_systeme = d_es_processus;  
                         return;  
                     }  
 #                   endif  
   
                     while((longueur_ecriture = write_atomic(s_etat_processus,                      while((longueur_ecriture = write_atomic(s_etat_processus,
                             (*(*((struct_processus_fils *)                              (*(*((struct_processus_fils *)
Line 808  instruction_poke(struct_processus *s_eta Line 801  instruction_poke(struct_processus *s_eta
                             .pipe_nombre_injections[1], "-",                              .pipe_nombre_injections[1], "-",
                             sizeof(unsigned char))) != sizeof(unsigned char))                              sizeof(unsigned char))) != sizeof(unsigned char))
                     {                      {
 #                       ifndef SEMAPHORES_NOMMES                          if (pthread_mutex_lock(
                         while(sem_wait(&((*s_etat_processus)                                  &((*s_etat_processus).mutex_fork)) != 0)
                                 .semaphore_fork)) == -1)  
 #                       else  
                         while(sem_wait((*s_etat_processus)  
                                 .semaphore_fork) == -1)  
 #                       endif  
                         {                          {
                             if (errno != EINTR)                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             {                              return;
                                 (*s_etat_processus).erreur_systeme =  
                                         d_es_processus;  
                                 return;  
                             }  
                         }                          }
   
                         if (longueur_ecriture == -1)                          if (longueur_ecriture == -1)
Line 861  instruction_poke(struct_processus *s_eta Line 845  instruction_poke(struct_processus *s_eta
                             return;                              return;
                         }                          }
   
 #                       ifndef SEMAPHORES_NOMMES                          if (pthread_mutex_unlock(
                         if (sem_post(&((*s_etat_processus)                                  &((*s_etat_processus).mutex_fork)) != 0)
                                 .semaphore_fork)) != 0)  
 #                       else  
                         if (sem_post((*s_etat_processus)  
                                 .semaphore_fork) != 0)  
 #                       endif  
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 888  instruction_poke(struct_processus *s_eta Line 867  instruction_poke(struct_processus *s_eta
                         }                          }
                     }                      }
   
 #                   ifndef SEMAPHORES_NOMMES                      if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork))
                     while(sem_wait(&((*s_etat_processus).semaphore_fork)) == -1)                              != 0)
 #                   else  
                     while(sem_wait((*s_etat_processus).semaphore_fork) == -1)  
 #                   endif  
                     {                      {
                         if (errno == EINTR)                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         {                          return;
                             (*s_etat_processus).erreur_systeme = d_es_processus;  
                             return;  
                         }  
                     }                      }
   
                     if (registre_stop == 0)                      if (registre_stop == 0)
Line 1038  instruction_poke(struct_processus *s_eta Line 1011  instruction_poke(struct_processus *s_eta
                         }                          }
                     }                      }
   
 #                   ifndef SEMAPHORES_NOMMES                      if (pthread_mutex_unlock(
                     if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)                              &((*s_etat_processus).mutex_fork)) != 0)
 #                   else  
                     if (sem_post((*s_etat_processus).semaphore_fork) != 0)  
 #                   endif  
                     {                      {
                         (*s_etat_processus).erreur_systeme = d_es_processus;                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         return;                          return;
Line 1054  instruction_poke(struct_processus *s_eta Line 1024  instruction_poke(struct_processus *s_eta
                             .pipe_nombre_injections[1], "-",                              .pipe_nombre_injections[1], "-",
                             sizeof(unsigned char))) != sizeof(unsigned char))                              sizeof(unsigned char))) != sizeof(unsigned char))
                     {                      {
 #                       ifndef SEMAPHORES_NOMMES                          if (pthread_mutex_lock(
                         while(sem_wait(&((*s_etat_processus)                                  &((*s_etat_processus).mutex_fork)) != 0)
                                 .semaphore_fork)) == -1)  
 #                       else  
                         while(sem_wait((*s_etat_processus)  
                                 .semaphore_fork) == -1)  
 #                       endif  
                         {                          {
                             if (errno != EINTR)                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             {                              return;
                                 (*s_etat_processus).erreur_systeme =  
                                         d_es_processus;  
                                 return;  
                             }  
                         }                          }
   
                         if (longueur_ecriture == -1)                          if (longueur_ecriture == -1)
Line 1107  instruction_poke(struct_processus *s_eta Line 1068  instruction_poke(struct_processus *s_eta
                             return;                              return;
                         }                          }
   
 #                       ifndef SEMAPHORES_NOMMES                          if (pthread_mutex_unlock(
                         if (sem_post(&((*s_etat_processus)                                  &((*s_etat_processus).mutex_fork)) != 0)
                                 .semaphore_fork)) != 0)  
 #                       else  
                         if (sem_post((*s_etat_processus)  
                                 .semaphore_fork) != 0)  
 #                       endif  
                         {                          {
                             (*s_etat_processus).erreur_systeme = d_es_processus;                              (*s_etat_processus).erreur_systeme = d_es_processus;
                             return;                              return;
Line 1134  instruction_poke(struct_processus *s_eta Line 1090  instruction_poke(struct_processus *s_eta
                         }                          }
                     }                      }
   
 #                   ifndef SEMAPHORES_NOMMES                      if (pthread_mutex_lock(
                     while(sem_wait(&((*s_etat_processus)                              &((*s_etat_processus).mutex_fork)) != 0)
                             .semaphore_fork)) == -1)  
 #                   else  
                     while(sem_wait((*s_etat_processus)  
                             .semaphore_fork) == -1)  
 #                   endif  
                     {                      {
                         if (errno != EINTR)                          (*s_etat_processus).erreur_systeme = d_es_processus;
                         {                          return;
                             (*s_etat_processus).erreur_systeme = d_es_processus;  
                             return;  
                         }  
                     }                      }
   
                     if (registre_stop == 0)                      if (registre_stop == 0)

Removed from v.1.34  
changed lines
  Added in v.1.35


CVSweb interface <joel.bertrand@systella.fr>