Diff for /rpl/src/interruptions.c between versions 1.106 and 1.108

version 1.106, 2012/10/14 21:37:11 version 1.108, 2012/10/17 10:23:16
Line 173  thread_surveillance_signaux(void *argume Line 173  thread_surveillance_signaux(void *argume
         }          }
         else          else
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              if (errno != EINTR)
               {
                   (*s_etat_processus).erreur_systeme = d_es_processus;
               }
         }          }
     }      }
   
Line 332  retrait_thread(struct_processus *s_etat_ Line 335  retrait_thread(struct_processus *s_etat_
             .pointeur_signal_lecture)              .pointeur_signal_lecture)
     {      {
 #       if (!defined(SEMAPHORES_NOMMES)) || defined(IPCS_SYSV)  #       if (!defined(SEMAPHORES_NOMMES)) || defined(IPCS_SYSV)
         sem_wait(&((*s_queue_signaux).signalisation));          while(sem_wait(&((*s_queue_signaux).signalisation)) != 0)
 #       else  #       else
         sem_wait(semaphore_signalisation);          while(sem_wait(semaphore_signalisation) != 0)
 #       endif  #       endif
           {
               if (errno != EINTR)
               {
                   (*s_etat_processus).erreur_systeme = d_es_processus;
                   return;
               }
           }
   
         (*(*((struct_thread *) (*l_element_courant).donnee)).s_etat_processus)          (*(*((struct_thread *) (*l_element_courant).donnee)).s_etat_processus)
                 .pointeur_signal_lecture = ((*(*((struct_thread *)                  .pointeur_signal_lecture = ((*(*((struct_thread *)
Line 2501  envoi_interruptions(struct_processus *s_ Line 2511  envoi_interruptions(struct_processus *s_
         default:          default:
             if ((*s_etat_processus).langue == 'F')              if ((*s_etat_processus).langue == 'F')
             {              {
                 printf("+++System : Spurious signal (%d) !\n", signal);                  printf("+++System : Signal inconnu (%d) !\n", signal);
             }              }
             else              else
             {              {
                 printf("+++System : Signal inconnu (%d) !\n", signal);                  printf("+++System : Spurious signal (%d) !\n", signal);
             }              }
   
             break;              break;
Line 2545  scrutation_interruptions(struct_processu Line 2555  scrutation_interruptions(struct_processu
                     % LONGUEUR_QUEUE_SIGNAUX;                      % LONGUEUR_QUEUE_SIGNAUX;
   
 #           if (!defined(SEMAPHORES_NOMMES)) || defined(IPCS_SYSV)  #           if (!defined(SEMAPHORES_NOMMES)) || defined(IPCS_SYSV)
             sem_wait(&((*s_queue_signaux).signalisation));              while(sem_wait(&((*s_queue_signaux).signalisation)) != 0)
 #           else  #           else
             sem_wait(semaphore_signalisation);              while(sem_wait(semaphore_signalisation) != 0)
 #           endif  #           endif
               {
                   if (errno != EINTR)
                   {
                       (*s_etat_processus).erreur_systeme = d_es_processus;
                       return;
                   }
               }
         }          }
   
 #       if (!defined(SEMAPHORES_NOMMES)) || defined(IPCS_SYSV)  #       if (!defined(SEMAPHORES_NOMMES)) || defined(IPCS_SYSV)
Line 2576  scrutation_interruptions(struct_processu Line 2593  scrutation_interruptions(struct_processu
                     % LONGUEUR_QUEUE_SIGNAUX;                      % LONGUEUR_QUEUE_SIGNAUX;
   
 #           if (!defined(SEMAPHORES_NOMMES)) || defined(IPCS_SYSV)  #           if (!defined(SEMAPHORES_NOMMES)) || defined(IPCS_SYSV)
             sem_wait(&((*s_queue_signaux).signalisation));              while(sem_wait(&((*s_queue_signaux).signalisation)) != 0)
 #           else  #           else
             sem_wait(semaphore_signalisation);              while(sem_wait(semaphore_signalisation) != 0)
 #           endif  #           endif
               {
                   if (errno != EINTR)
                   {
                       (*s_etat_processus).erreur_systeme = d_es_processus;
                       return;
                   }
               }
         }          }
   
         pthread_mutex_unlock(&mutex_interruptions);          pthread_mutex_unlock(&mutex_interruptions);

Removed from v.1.106  
changed lines
  Added in v.1.108


CVSweb interface <joel.bertrand@systella.fr>