Diff for /rpl/src/instructions_d5.c between versions 1.142 and 1.147

version 1.142, 2016/03/15 16:31:15 version 1.147, 2016/03/18 12:43:48
Line 1304  instruction_detach(struct_processus *s_e Line 1304  instruction_detach(struct_processus *s_e
         liberation_queue_signaux(s_etat_processus);          liberation_queue_signaux(s_etat_processus);
         creation_queue_signaux(s_etat_processus);          creation_queue_signaux(s_etat_processus);
   
         if (lancement_thread_signaux(s_etat_processus) != d_absence_erreur)  
         {  
             (*s_etat_processus).erreur_systeme = d_es_processus;  
         }  
   
         routine_recursive = 0;          routine_recursive = 0;
   
         (*s_etat_processus).pointeur_signal_lecture = 0;          (*s_etat_processus).pointeur_signal_lecture = 0;
Line 2275  instruction_detach(struct_processus *s_e Line 2270  instruction_detach(struct_processus *s_e
                 {                  {
                     envoi_signal_processus((*(*((struct_processus_fils *)                      envoi_signal_processus((*(*((struct_processus_fils *)
                             (*(*l_element_courant).donnee).objet)).thread).pid,                              (*(*l_element_courant).donnee).objet)).thread).pid,
                             rpl_sigurg);                              rpl_sigurg, d_faux);
                 }                  }
                 else                  else
                 {                  {
Line 2283  instruction_detach(struct_processus *s_e Line 2278  instruction_detach(struct_processus *s_e
                     {                      {
                         envoi_signal_processus((*(*((struct_processus_fils *)                          envoi_signal_processus((*(*((struct_processus_fils *)
                                 (*(*l_element_courant).donnee).objet)).thread)                                  (*(*l_element_courant).donnee).objet)).thread)
                                 .pid, rpl_sigabort);                                  .pid, rpl_sigabort, d_faux);
                     }                      }
                     else                      else
                     {                      {
                         envoi_signal_processus((*(*((struct_processus_fils *)                          envoi_signal_processus((*(*((struct_processus_fils *)
                                 (*(*l_element_courant).donnee).objet)).thread)                                  (*(*l_element_courant).donnee).objet)).thread)
                                 .pid, rpl_sigstop);                                  .pid, rpl_sigstop, d_faux);
                     }                      }
                 }                  }
             }              }
Line 2821  instruction_detach(struct_processus *s_e Line 2816  instruction_detach(struct_processus *s_e
   
         retrait_thread(s_etat_processus);          retrait_thread(s_etat_processus);
   
         pthread_mutex_destroy(&((*s_etat_processus).mutex_pile_processus));  
         pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation));  
         pthread_mutex_destroy(&((*s_etat_processus).mutex_interruptions));  
         pthread_mutex_destroy(&((*s_etat_processus).mutex_signaux));  
         pthread_mutex_destroy(&((*s_etat_processus).protection_liste_mutexes));  
         pthread_mutex_destroy(&mutex_sections_critiques);  
   
 #       ifndef SEMAPHORES_NOMMES  #       ifndef SEMAPHORES_NOMMES
         sem_post(&((*s_etat_processus).semaphore_fork));          sem_post(&((*s_etat_processus).semaphore_fork));
         sem_destroy(&((*s_etat_processus).semaphore_fork));          sem_destroy(&((*s_etat_processus).semaphore_fork));
Line 2842  instruction_detach(struct_processus *s_e Line 2830  instruction_detach(struct_processus *s_e
         liberation_contexte_cas(s_etat_processus);          liberation_contexte_cas(s_etat_processus);
         destruction_queue_signaux(s_etat_processus);          destruction_queue_signaux(s_etat_processus);
   
           free((*s_etat_processus).localisation);
           free((*s_etat_processus).chemin_fichiers_temporaires);
           free(s_argument_thread);
   
         liberation_allocateur(s_etat_processus);          liberation_allocateur(s_etat_processus);
         liberation_allocateur_buffer(s_etat_processus);          liberation_allocateur_buffer(s_etat_processus);
   
           pthread_mutex_destroy(&((*s_etat_processus).mutex_pile_processus));
           pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation));
           pthread_mutex_destroy(&((*s_etat_processus).mutex_interruptions));
           pthread_mutex_destroy(&((*s_etat_processus).mutex_signaux));
           pthread_mutex_destroy(&((*s_etat_processus).protection_liste_mutexes));
         pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer));          pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer));
           pthread_mutex_destroy(&mutex_sections_critiques);
   
         free((*s_etat_processus).localisation);  
         free((*s_etat_processus).chemin_fichiers_temporaires);  
         free(s_argument_thread);  
         sys_free(s_etat_processus);          sys_free(s_etat_processus);
   
 #       ifdef DEBUG_MEMOIRE  #       ifdef DEBUG_MEMOIRE
Line 2949  instruction_detach(struct_processus *s_e Line 2945  instruction_detach(struct_processus *s_e
   
     // Le fils peut être présent sans être en attente du signal de départ.      // Le fils peut être présent sans être en attente du signal de départ.
   
     if (envoi_signal_processus((*s_argument_thread).pid, rpl_sigstart) != 0)      if (envoi_signal_processus((*s_argument_thread).pid, rpl_sigstart,
               d_vrai) != 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_processus;          (*s_etat_processus).erreur_systeme = d_es_processus;
         pthread_mutex_unlock(&((*s_etat_processus).mutex_pile_processus));          pthread_mutex_unlock(&((*s_etat_processus).mutex_pile_processus));

Removed from v.1.142  
changed lines
  Added in v.1.147


CVSweb interface <joel.bertrand@systella.fr>