Diff for /rpl/src/analyse.c between versions 1.53 and 1.59

version 1.53, 2011/08/29 07:43:02 version 1.59, 2011/10/04 19:32:35
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.3    RPL/2 (R) version 4.1.4
   Copyright (C) 1989-2011 Dr. BERTRAND Joël    Copyright (C) 1989-2011 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 733  initialisation_instructions(struct_proce Line 733  initialisation_instructions(struct_proce
     INSTRUCTION("CLRSWI", instruction_clrswi);      INSTRUCTION("CLRSWI", instruction_clrswi);
     INSTRUCTION("CREATE", instruction_create);      INSTRUCTION("CREATE", instruction_create);
     INSTRUCTION("DELETE", instruction_delete);      INSTRUCTION("DELETE", instruction_delete);
 #   ifndef OS2  #   ifdef SHARED_MEMORY
     INSTRUCTION("DETACH", instruction_detach);      INSTRUCTION("DETACH", instruction_detach);
   #   else
       INSTRUCTION("DETACH", instruction_spawn);
 #   endif  #   endif
     INSTRUCTION("DIAG->", instruction_diag_fleche);      INSTRUCTION("DIAG->", instruction_diag_fleche);
     //INSTRUCTION("DOLIST")      //INSTRUCTION("DOLIST")
Line 986  analyse(struct_processus *s_etat_process Line 988  analyse(struct_processus *s_etat_process
      */       */
   
 #   ifndef SEMAPHORES_NOMMES  #   ifndef SEMAPHORES_NOMMES
     if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)          if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0)
     {  
         (*s_etat_processus).erreur_systeme = d_es_processus;  
         return;  
     }  
   
     while(sem_wait(&((*s_etat_processus).semaphore_fork)) == -1)  
     {  
         if (errno != EINTR)  
         {  
             (*s_etat_processus).erreur_systeme = d_es_processus;  
             return;  
         }  
     }  
 #   else  #   else
     if (sem_post((*s_etat_processus).semaphore_fork) != 0)          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) == -1)  #   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 1015  analyse(struct_processus *s_etat_process Line 1009  analyse(struct_processus *s_etat_process
             return;              return;
         }          }
     }      }
 #   endif  
   
     scrutation_injection(s_etat_processus);      scrutation_injection(s_etat_processus);
   

Removed from v.1.53  
changed lines
  Added in v.1.59


CVSweb interface <joel.bertrand@systella.fr>