Diff for /rpl/src/gestion_threads.c between versions 1.101 and 1.111

version 1.101, 2016/03/15 16:31:14 version 1.111, 2019/02/07 21:44:14
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.25    RPL/2 (R) version 4.1.31
   Copyright (C) 1989-2016 Dr. BERTRAND Joël    Copyright (C) 1989-2019 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 78  lancement_thread(void *argument) Line 78  lancement_thread(void *argument)
   
 #   ifndef SEMAPHORES_NOMMES  #   ifndef SEMAPHORES_NOMMES
         sem_init(&((*s_etat_processus).semaphore_fork), 0, 0);          sem_init(&((*s_etat_processus).semaphore_fork), 0, 0);
   uprintf("[%d-%llu] Semaphore fork %p (gestion_threads.c)\n", (int) getpid(),
           (unsigned long long) pthread_self(),
           &((*s_etat_processus).semaphore_fork));
 #   else  #   else
         if (((*s_etat_processus).semaphore_fork = sem_init3(0, getpid(),          if (((*s_etat_processus).semaphore_fork = sem_init3(0, getpid(),
                 pthread_self(), SEM_FORK)) == SEM_FAILED)                  pthread_self(), SEM_FORK)) == SEM_FAILED)
Line 409  lancement_thread(void *argument) Line 412  lancement_thread(void *argument)
             {              {
                 envoi_signal_processus((*(*((struct_processus_fils *)                  envoi_signal_processus((*(*((struct_processus_fils *)
                         (*(*l_element_courant)                          (*(*l_element_courant)
                         .donnee).objet)).thread).pid, rpl_sigurg);                          .donnee).objet)).thread).pid, rpl_sigurg, d_faux);
             }              }
             else              else
             {              {
Line 417  lancement_thread(void *argument) Line 420  lancement_thread(void *argument)
                 {                  {
                     envoi_signal_processus((*(*((struct_processus_fils *)                      envoi_signal_processus((*(*((struct_processus_fils *)
                             (*(*l_element_courant)                              (*(*l_element_courant)
                             .donnee).objet)).thread).pid, rpl_sigabort);                              .donnee).objet)).thread).pid, rpl_sigabort, d_faux);
                 }                  }
                 else                  else
                 {                  {
                     envoi_signal_processus((*(*((struct_processus_fils *)                      envoi_signal_processus((*(*((struct_processus_fils *)
                             (*(*l_element_courant)                              (*(*l_element_courant)
                             .donnee).objet)).thread).pid, rpl_sigstop);                              .donnee).objet)).thread).pid, rpl_sigstop,d_faux);
                 }                  }
             }              }
         }          }
Line 1014  lancement_thread(void *argument) Line 1017  lancement_thread(void *argument)
     pthread_mutex_destroy(&((*s_etat_processus).mutex_signaux));      pthread_mutex_destroy(&((*s_etat_processus).mutex_signaux));
   
 #   ifndef SEMAPHORES_NOMMES  #   ifndef SEMAPHORES_NOMMES
           sem_post(&((*s_etat_processus).semaphore_fork));
         sem_destroy(&((*s_etat_processus).semaphore_fork));          sem_destroy(&((*s_etat_processus).semaphore_fork));
 #   else  #   else
           sem_post((*s_etat_processus).semaphore_fork);
         sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),          sem_destroy3((*s_etat_processus).semaphore_fork, getpid(),
                 pthread_self(), SEM_FORK);                  pthread_self(), SEM_FORK);
 #   endif  #   endif

Removed from v.1.101  
changed lines
  Added in v.1.111


CVSweb interface <joel.bertrand@systella.fr>