Diff for /rpl/src/gestion_processus.c between versions 1.83 and 1.96

version 1.83, 2016/03/15 16:31:14 version 1.96, 2019/02/09 13:36:35
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 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++;
     insertion_thread_surveillance(s_etat_processus, s_argument_thread);      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 362  surveillance_processus(void *argument) Line 363  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 389  surveillance_processus(void *argument) Line 391  surveillance_processus(void *argument)
             }              }
             else              else
             {              {
                 perror("read");  
                 (*s_etat_processus).erreur_systeme = d_es_processus;                  (*s_etat_processus).erreur_systeme = d_es_processus;
             }              }
   
Line 630  surveillance_processus(void *argument) Line 631  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 1427  surveillance_processus(void *argument) Line 1429  surveillance_processus(void *argument)
         }          }
   
         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_unlock(&((*s_etat_processus)          if (pthread_mutex_unlock(&((*s_etat_processus)
                 .mutex_pile_processus)) != 0)                  .mutex_pile_processus)) != 0)
Line 1436  surveillance_processus(void *argument) Line 1439  surveillance_processus(void *argument)
     }      }
   
     pthread_exit(NULL);      pthread_exit(NULL);
     return(NULL);  
 }  }
   
   
Line 3005  scrutation_injection(struct_processus *s Line 3007  scrutation_injection(struct_processus *s
     unsigned char                   tampon;      unsigned char                   tampon;
     unsigned char                   tampon_profilage[20];      unsigned char                   tampon_profilage[20];
   
     // Si on est dans le processus père, il n'y a rien à surveiller.  
   
     scrutation_interruptions(s_etat_processus);      scrutation_interruptions(s_etat_processus);
   
       // Si on est dans le processus père, il n'y a rien à surveiller.
   
     if ((*s_etat_processus).var_volatile_processus_racine == 0)      if ((*s_etat_processus).var_volatile_processus_racine == 0)
     {      {
         fds.fd = (*s_etat_processus).pipe_nombre_injections;          fds.fd = (*s_etat_processus).pipe_nombre_injections;
Line 3172  scrutation_injection(struct_processus *s Line 3174  scrutation_injection(struct_processus *s
                 }                  }
             }              }
         }          }
   
     }      }
   
     return;      return;

Removed from v.1.83  
changed lines
  Added in v.1.96


CVSweb interface <joel.bertrand@systella.fr>