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

version 1.40, 2011/09/20 09:51:43 version 1.41, 2011/09/20 14:36:29
Line 3858  instruction_syseval(struct_processus *s_ Line 3858  instruction_syseval(struct_processus *s_
                     longueur_ecriture = strlen((unsigned char *)                      longueur_ecriture = strlen((unsigned char *)
                             (*(*l_element_courant).donnee).objet);                              (*(*l_element_courant).donnee).objet);
   
                     if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)  #                   ifndef SEMAPHORES_NOMMES
                           if (sem_post(&((*s_etat_processus).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 3869  instruction_syseval(struct_processus *s_ Line 3874  instruction_syseval(struct_processus *s_
                             (*(*l_element_courant).donnee).objet,                              (*(*l_element_courant).donnee).objet,
                             longueur_ecriture) != longueur_ecriture)                              longueur_ecriture) != longueur_ecriture)
                     {                      {
                         while(sem_wait(&((*s_etat_processus)  #                       ifndef SEMAPHORES_NOMMES
                                 .semaphore_fork)) != 0)                              while(sem_wait(&((*s_etat_processus)
                                       .semaphore_fork)) != 0)
   #                       else
                               while(sem_wait((*s_etat_processus)
                                       .semaphore_fork) != 0)
   #                       endif
                         {                          {
                             (*s_etat_processus).erreur_systeme =                              (*s_etat_processus).erreur_systeme =
                                     d_es_processus;                                      d_es_processus;
Line 3883  instruction_syseval(struct_processus *s_ Line 3893  instruction_syseval(struct_processus *s_
                             return;                              return;
                         }                          }
   
                         if (sem_post(&((*s_etat_processus)  #                       ifndef SEMAPHORES_NOMMES
                                 .semaphore_fork)) != 0)                              if (sem_post(&((*s_etat_processus)
                                       .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 3894  instruction_syseval(struct_processus *s_ Line 3909  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)
                     {                      {
                         while(sem_wait(&((*s_etat_processus)  #                       ifndef SEMAPHORES_NOMMES
                                 .semaphore_fork)) != 0)                              while(sem_wait(&((*s_etat_processus)
                                       .semaphore_fork)) != 0)
   #                       else
                               while(sem_wait((*s_etat_processus)
                                       .semaphore_fork) != 0)
   #                       endif
                         {                          {
                             if (errno != EINTR)                              if (errno != EINTR)
                             {                              {
Line 3911  instruction_syseval(struct_processus *s_ Line 3931  instruction_syseval(struct_processus *s_
                             return;                              return;
                         }                          }
   
                         if (sem_post(&((*s_etat_processus)  #                       ifndef SEMAPHORES_NOMMES
                                 .semaphore_fork)) != 0)                              if (sem_post(&((*s_etat_processus)
                                       .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;
                         }                          }
                     }                      }
   
                     while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)  #                   ifndef SEMAPHORES_NOMMES
                           while(sem_wait(&((*s_etat_processus).semaphore_fork))
                                   != 0)
   #                   else
                           while(sem_wait((*s_etat_processus).semaphore_fork) != 0)
   #                   endif
                     {                      {
                         if (errno != EINTR)                          if (errno != EINTR)
                         {                          {
Line 3949  instruction_syseval(struct_processus *s_ Line 3979  instruction_syseval(struct_processus *s_
                  * Récupération de la valeur de retour du processus détaché                   * Récupération de la valeur de retour du processus détaché
                  */                   */
   
                 if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)  #               ifndef SEMAPHORES_NOMMES
                       if (sem_post(&((*s_etat_processus).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 3957  instruction_syseval(struct_processus *s_ Line 3991  instruction_syseval(struct_processus *s_
   
                 if (waitpid(pid, &status, 0) == -1)                  if (waitpid(pid, &status, 0) == -1)
                 {                  {
                     if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)  #                   ifndef SEMAPHORES_NOMMES
                           if (sem_post(&((*s_etat_processus).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 3967  instruction_syseval(struct_processus *s_ Line 4006  instruction_syseval(struct_processus *s_
                     return;                      return;
                 }                  }
   
                 while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)  #               ifndef SEMAPHORES_NOMMES
                       while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
   #               else
                       while(sem_wait((*s_etat_processus).semaphore_fork) != 0)
   #               endif
                 {                  {
                     if (errno != EINTR)                      if (errno != EINTR)
                     {                      {
Line 3988  instruction_syseval(struct_processus *s_ Line 4031  instruction_syseval(struct_processus *s_
                 return;                  return;
             }              }
   
             if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)  #           ifndef SEMAPHORES_NOMMES
                   if (sem_post(&((*s_etat_processus).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 3998  instruction_syseval(struct_processus *s_ Line 4045  instruction_syseval(struct_processus *s_
                     pipes_sortie[0], &(tampon[pointeur]),                      pipes_sortie[0], &(tampon[pointeur]),
                     longueur_lecture)) > 0)                      longueur_lecture)) > 0)
             {              {
                 while(sem_wait(&((*s_etat_processus).semaphore_fork))  #               ifndef SEMAPHORES_NOMMES
                         != 0)                      while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
   #               else
                       while(sem_wait((*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 4018  instruction_syseval(struct_processus *s_ Line 4068  instruction_syseval(struct_processus *s_
                     return;                      return;
                 }                  }
   
                 if (sem_post(&((*s_etat_processus).semaphore_fork))  #               ifndef SEMAPHORES_NOMMES
                         != 0)                      if (sem_post(&((*s_etat_processus).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;
                 }                  }
             }              }
   
             while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)  #           ifndef SEMAPHORES_NOMMES
                   while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
   #           else
                   while(sem_wait((*s_etat_processus).semaphore_fork) != 0)
   #           endif
             {              {
                 if (errno != EINTR)                  if (errno != EINTR)
                 {                  {
Line 4174  instruction_syseval(struct_processus *s_ Line 4231  instruction_syseval(struct_processus *s_
             return;              return;
         }          }
     
         if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)  #       ifndef SEMAPHORES_NOMMES
               if (sem_post(&((*s_etat_processus).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 4191  instruction_syseval(struct_processus *s_ Line 4252  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)
         {          {
             while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)  #           ifndef SEMAPHORES_NOMMES
                   while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
   #           else
                   while(sem_wait((*s_etat_processus).semaphore_fork) != 0)
   #           endif
             {              {
                 if (errno != EINTR)                  if (errno != EINTR)
                 {                  {
Line 4210  instruction_syseval(struct_processus *s_ Line 4275  instruction_syseval(struct_processus *s_
             return;              return;
         }          }
   
         while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)  #       ifndef SEMAPHORES_NOMMES
               while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0)
   #       else
               while(sem_wait((*s_etat_processus).semaphore_fork) != 0)
   #       endif
         {          {
             if (errno != EINTR)              if (errno != EINTR)
             {              {

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


CVSweb interface <joel.bertrand@systella.fr>