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

version 1.141, 2016/03/09 22:11:27 version 1.142, 2016/03/15 16:31:15
Line 1122  instruction_detach(struct_processus *s_e Line 1122  instruction_detach(struct_processus *s_e
     {      {
         // On ne déverrouille les threads concurrents que dans le processus          // On ne déverrouille les threads concurrents que dans le processus
         // père. Dans le fils, les valeurs sont non initialisées.          // père. Dans le fils, les valeurs sont non initialisées.
 uprintf("PID=%d\n", getpid());  
         deverrouillage_threads_concurrents(s_etat_processus);          deverrouillage_threads_concurrents(s_etat_processus);
     }      }
   
Line 1290  uprintf("PID=%d\n", getpid()); Line 1289  uprintf("PID=%d\n", getpid());
          */           */
   
         pthread_mutex_destroy(&mutex_liste_variables_partagees);          pthread_mutex_destroy(&mutex_liste_variables_partagees);
           pthread_mutex_destroy(&mutex_liste_threads);
   
         pthread_mutexattr_init(&attributs_mutex);          pthread_mutexattr_init(&attributs_mutex);
         pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE);          pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE);
         pthread_mutex_init(&mutex_liste_variables_partagees, &attributs_mutex);          pthread_mutex_init(&mutex_liste_variables_partagees, &attributs_mutex);
         pthread_mutexattr_destroy(&attributs_mutex);          pthread_mutexattr_destroy(&attributs_mutex);
   
         pthread_mutex_destroy(&mutex_liste_threads);  
   
         pthread_mutexattr_init(&attributs_mutex);          pthread_mutexattr_init(&attributs_mutex);
         pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE);          pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE);
         pthread_mutex_init(&mutex_liste_threads, &attributs_mutex);          pthread_mutex_init(&mutex_liste_threads, &attributs_mutex);
Line 2198  uprintf("PID=%d\n", getpid()); Line 2196  uprintf("PID=%d\n", getpid());
             }              }
         }          }
   
         close((*s_argument_thread).pipe_erreurs[1]);  
         close((*s_argument_thread).pipe_interruptions[1]);  
         close((*s_argument_thread).pipe_nombre_elements_attente[1]);  
         close((*s_argument_thread).pipe_objets[1]);  
         close((*s_argument_thread).pipe_injections[0]);  
         close((*s_argument_thread).pipe_nombre_injections[0]);  
         close((*s_argument_thread).pipe_acquittement[0]);  
   
         l_element_courant = (*s_etat_processus).s_fichiers;          l_element_courant = (*s_etat_processus).s_fichiers;
   
         while(l_element_courant != NULL)          while(l_element_courant != NULL)
Line 2768  uprintf("PID=%d\n", getpid()); Line 2758  uprintf("PID=%d\n", getpid());
             l_element_courant = l_element_suivant;              l_element_courant = l_element_suivant;
         }          }
   
         free((*s_etat_processus).chemin_fichiers_temporaires);  
   
         if ((*s_etat_processus).debug == d_vrai)          if ((*s_etat_processus).debug == d_vrai)
             if (((*s_etat_processus).type_debug &              if (((*s_etat_processus).type_debug &
                     d_debug_processus) != 0)                      d_debug_processus) != 0)
Line 2823  uprintf("PID=%d\n", getpid()); Line 2811  uprintf("PID=%d\n", getpid());
   
         closelog();          closelog();
   
           close((*s_argument_thread).pipe_erreurs[1]);
           close((*s_argument_thread).pipe_interruptions[1]);
           close((*s_argument_thread).pipe_nombre_elements_attente[1]);
           close((*s_argument_thread).pipe_objets[1]);
           close((*s_argument_thread).pipe_injections[0]);
           close((*s_argument_thread).pipe_nombre_injections[0]);
           close((*s_argument_thread).pipe_acquittement[0]);
   
         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_pile_processus));
Line 2841  uprintf("PID=%d\n", getpid()); Line 2837  uprintf("PID=%d\n", getpid());
                 pthread_self(), SEM_FORK);                  pthread_self(), SEM_FORK);
 #       endif  #       endif
   
         free((*s_etat_processus).localisation);  
         free(s_argument_thread);  
   
         clear_history();          clear_history();
   
         destruction_queue_signaux(s_etat_processus);  
         liberation_contexte_cas(s_etat_processus);          liberation_contexte_cas(s_etat_processus);
         arret_thread_signaux(s_etat_processus);          destruction_queue_signaux(s_etat_processus);
   
         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_allocation_buffer));          pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer));
   
           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

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


CVSweb interface <joel.bertrand@systella.fr>