Diff for /rpl/src/interruptions.c between versions 1.146 and 1.150

version 1.146, 2014/06/05 20:51:54 version 1.150, 2015/01/05 13:12:41
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.18    RPL/2 (R) version 4.1.19
   Copyright (C) 1989-2014 Dr. BERTRAND Joël    Copyright (C) 1989-2015 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 99  thread_surveillance_signaux(void *argume Line 99  thread_surveillance_signaux(void *argume
   
             if ((*s_queue_signaux).requete_arret == d_vrai)              if ((*s_queue_signaux).requete_arret == d_vrai)
             {              {
 uprintf("Fin du thread\n");  
                 sem_post(semaphore_arret_signalisation);                  sem_post(semaphore_arret_signalisation);
                 sem_post(semaphore_signalisation);                  sem_post(semaphore_signalisation);
   
Line 189  uprintf("Fin du thread\n"); Line 188  uprintf("Fin du thread\n");
         }          }
     }      }
   
 uprintf("Zouh...\n");  
     pthread_exit(NULL);      pthread_exit(NULL);
 }  }
   
Line 1470  verrouillage_gestionnaire_signaux(struct Line 1468  verrouillage_gestionnaire_signaux(struct
         return;          return;
     }      }
   
 #   ifndef SEMAPHORES_NOMMES  
     if (sem_post(&semaphore_gestionnaires_signaux) == -1)  
 #   else  
     if (sem_post(semaphore_gestionnaires_signaux) == -1)  
 #   endif  
     {  
 #       ifndef SEMAPHORES_NOMMES  
         sem_wait(&((*s_etat_processus).semaphore_fork));  
 #       else  
         sem_wait((*s_etat_processus).semaphore_fork);  
 #       endif  
         BUG(1, uprintf("Lock error !\n"));  
         return;  
     }  
   
     return;      return;
 }  }
   
Line 3003  creation_queue_signaux(struct_processus Line 2986  creation_queue_signaux(struct_processus
   
         (*s_queue_signaux).requete_arret = d_faux;          (*s_queue_signaux).requete_arret = d_faux;
   
 #       ifndef IPCS_SYSV  
         if (msync(s_queue_signaux, sizeof(struct_queue_signaux), MS_SYNC))          if (msync(s_queue_signaux, sizeof(struct_queue_signaux), MS_SYNC))
         {          {
             (*s_etat_processus).erreur_systeme = d_es_processus;              (*s_etat_processus).erreur_systeme = d_es_processus;
             return;              return;
         }          }
 #       endif  
 #   else // IPCS_SYSV  #   else // IPCS_SYSV
 #       ifndef OS2  #       ifndef OS2
             int                             segment;              int                             segment;
Line 3264  destruction_queue_signaux(struct_process Line 3245  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);
     uprintf("Requête arrêt\n");      pthread_join((*s_queue_signaux).thread_signaux, NULL);
     int ios;  
     ios = pthread_join((*s_queue_signaux).thread_signaux, NULL);  
     if (ios) perror("pthread_join");  
   
 #   ifdef IPCS_SYSV // SystemV  #   ifdef IPCS_SYSV // SystemV
 #       ifndef OS2  #       ifndef OS2

Removed from v.1.146  
changed lines
  Added in v.1.150


CVSweb interface <joel.bertrand@systella.fr>