Diff for /rpl/src/instructions_s1.c between versions 1.39 and 1.40

version 1.39, 2011/09/20 08:56:23 version 1.40, 2011/09/20 09:51:43
Line 3894  instruction_syseval(struct_processus *s_ Line 3894  instruction_syseval(struct_processus *s_
                     while(write_atomic(s_etat_processus,                      while(write_atomic(s_etat_processus,
                             pipes_entree[1], "\n", 1) != 1)                              pipes_entree[1], "\n", 1) != 1)
                     {                      {
                         if (sem_wait(&((*s_etat_processus)                          while(sem_wait(&((*s_etat_processus)
                                 .semaphore_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;
                               }
                         }                          }
   
                         if (longueur_ecriture == -1)                          if (longueur_ecriture == -1)
Line 3916  instruction_syseval(struct_processus *s_ Line 3919  instruction_syseval(struct_processus *s_
                         }                          }
                     }                      }
   
                     if (sem_wait(&((*s_etat_processus).semaphore_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;
                           }
                     }                      }
   
                     l_element_courant = (*l_element_courant).suivant;                      l_element_courant = (*l_element_courant).suivant;
Line 3961  instruction_syseval(struct_processus *s_ Line 3967  instruction_syseval(struct_processus *s_
                     return;                      return;
                 }                  }
   
                 if (sem_wait(&((*s_etat_processus).semaphore_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;
                       }
                 }                  }
             } while((!WIFEXITED(status)) && (!WIFSIGNALED(status)));              } while((!WIFEXITED(status)) && (!WIFSIGNALED(status)));
   
Line 4017  instruction_syseval(struct_processus *s_ Line 4026  instruction_syseval(struct_processus *s_
                 }                  }
             }              }
   
             if (sem_wait(&((*s_etat_processus).semaphore_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 ((tampon = realloc(tampon, (strlen(tampon) + 1) *              if ((tampon = realloc(tampon, (strlen(tampon) + 1) *
Line 4179  instruction_syseval(struct_processus *s_ Line 4191  instruction_syseval(struct_processus *s_
                 &((*s_etat_processus).l_base_pile), s_objet_resultat)                  &((*s_etat_processus).l_base_pile), s_objet_resultat)
                 == d_erreur)                  == d_erreur)
         {          {
             if (sem_wait(&((*s_etat_processus).semaphore_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 (close(pipes_erreur[0]) != 0)              if (close(pipes_erreur[0]) != 0)
Line 4195  instruction_syseval(struct_processus *s_ Line 4210  instruction_syseval(struct_processus *s_
             return;              return;
         }          }
   
         if (sem_wait(&((*s_etat_processus).semaphore_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 (close(pipes_erreur[0]) != 0)          if (close(pipes_erreur[0]) != 0)

Removed from v.1.39  
changed lines
  Added in v.1.40


CVSweb interface <joel.bertrand@systella.fr>