Diff for /rpl/src/interruptions.c between versions 1.181 and 1.182

version 1.181, 2016/07/21 15:22:53 version 1.182, 2016/07/22 14:44:11
Line 3425  creation_queue_signaux(struct_processus Line 3425  creation_queue_signaux(struct_processus
         return;          return;
     }      }
   
       (*s_queue_signaux).controle = getpid();
   
     if (pthread_create(&((*s_queue_signaux).thread_signaux), &attributs,      if (pthread_create(&((*s_queue_signaux).thread_signaux), &attributs,
             thread_surveillance_signaux, s_etat_processus) != 0)              thread_surveillance_signaux, s_etat_processus) != 0)
     {      {
Line 3438  creation_queue_signaux(struct_processus Line 3440  creation_queue_signaux(struct_processus
         return;          return;
     }      }
   
     (*s_queue_signaux).controle = getpid();  
   
 #   ifndef IPCS_SYSV  #   ifndef IPCS_SYSV
     if (msync(s_queue_signaux, sizeof(s_queue_signaux),      if (msync(s_queue_signaux, sizeof(s_queue_signaux),
             MS_ASYNC | MS_INVALIDATE) != 0)              MS_ASYNC | MS_INVALIDATE) != 0)
Line 3542  destruction_queue_signaux(struct_process Line 3542  destruction_queue_signaux(struct_process
     // Incrémenter le sémaphore pour être sûr de le débloquer.      // Incrémenter le sémaphore pour être sûr de le débloquer.
   
     sem_post(semaphore_signalisation);      sem_post(semaphore_signalisation);
     pthread_join((*s_queue_signaux).thread_signaux, NULL);  
       if ((*s_queue_signaux).controle == getpid())
       {
           pthread_join((*s_queue_signaux).thread_signaux, NULL);
       }
       else
       {
           (*s_etat_processus).erreur_systeme = d_es_processus;
           return;
       }
   
     arret_thread_signaux(s_etat_processus);      arret_thread_signaux(s_etat_processus);
   
 #   ifdef IPCS_SYSV // SystemV  #   ifdef IPCS_SYSV // SystemV

Removed from v.1.181  
changed lines
  Added in v.1.182


CVSweb interface <joel.bertrand@systella.fr>