Diff for /rpl/src/gestion_processus.c between versions 1.93 and 1.102

version 1.93, 2018/12/24 15:55:09 version 1.102, 2022/09/07 13:40:32
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.30    RPL/2 (R) version 4.1.34
   Copyright (C) 1989-2018 Dr. BERTRAND Joël    Copyright (C) 1989-2021 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 83  surveillance_processus(void *argument) Line 83  surveillance_processus(void *argument)
         BUG(1, uprintf("General mutex error!\n"));          BUG(1, uprintf("General mutex error!\n"));
     }      }
   
     nombre_thread_surveillance_processus++;      nombre_threads_surveillance_processus++;
     insertion_thread_surveillance(s_etat_processus, s_argument_thread);  
   
     if (pthread_mutex_unlock(&((*s_etat_processus).mutex_pile_processus)) != 0)      if (pthread_mutex_unlock(&((*s_etat_processus).mutex_pile_processus)) != 0)
     {      {
Line 92  surveillance_processus(void *argument) Line 91  surveillance_processus(void *argument)
         BUG(1, uprintf("General mutex error!\n"));          BUG(1, uprintf("General mutex error!\n"));
     }      }
   
       insertion_thread_surveillance(s_etat_processus, s_argument_thread);
   
     attente.tv_sec = 0;      attente.tv_sec = 0;
     attente.tv_nsec = GRANULARITE_us * 1000;      attente.tv_nsec = GRANULARITE_us * 1000;
   
Line 363  surveillance_processus(void *argument) Line 364  surveillance_processus(void *argument)
                             }                              }
                         }                          }
   
                         envoi_signal_thread((*s_argument_thread).thread_pere,                          envoi_signal_thread(NULL,
                                   (*s_argument_thread).thread_pere,
                                 rpl_siginject);                                  rpl_siginject);
                         break;                          break;
                     }                      }
Line 630  surveillance_processus(void *argument) Line 632  surveillance_processus(void *argument)
                                     d_es_processus;                                      d_es_processus;
                         }                          }
   
                         envoi_signal_thread((*s_argument_thread).thread_pere,                          envoi_signal_thread(NULL,
                                   (*s_argument_thread).thread_pere,
                                 rpl_siginject);                                  rpl_siginject);
   
                         if (pthread_mutex_lock(&((*s_etat_processus)                          if (pthread_mutex_lock(&((*s_etat_processus)
Line 1426  surveillance_processus(void *argument) Line 1429  surveillance_processus(void *argument)
             fflush(stdout);              fflush(stdout);
         }          }
   
           if (pthread_mutex_unlock(&((*s_etat_processus)
                   .mutex_pile_processus)) != 0)
           {
               (*s_etat_processus).erreur_systeme_processus_fils = d_es_processus;
           }
   
         retrait_thread_surveillance(s_etat_processus, s_argument_thread);          retrait_thread_surveillance(s_etat_processus, s_argument_thread);
         nombre_thread_surveillance_processus--;  
           if (pthread_mutex_lock(&((*s_etat_processus)
                   .mutex_pile_processus)) != 0)
           {
               (*s_etat_processus).erreur_systeme_processus_fils = d_es_processus;
           }
   
           nombre_threads_surveillance_processus--;
   
         if (pthread_mutex_unlock(&((*s_etat_processus)          if (pthread_mutex_unlock(&((*s_etat_processus)
                 .mutex_pile_processus)) != 0)                  .mutex_pile_processus)) != 0)

Removed from v.1.93  
changed lines
  Added in v.1.102


CVSweb interface <joel.bertrand@systella.fr>