version 1.144, 2016/03/16 12:19:34
|
version 1.149, 2016/03/22 19:03:36
|
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; |
|
nombre_thread_surveillance_processus = 0; |
|
|
(*s_etat_processus).pointeur_signal_lecture = 0; |
(*s_etat_processus).pointeur_signal_lecture = 0; |
(*s_etat_processus).pointeur_signal_ecriture = 0; |
(*s_etat_processus).pointeur_signal_ecriture = 0; |
Line 2835 instruction_detach(struct_processus *s_e
|
Line 2831 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); |
|
|
liberation_allocateur(s_etat_processus); |
|
liberation_allocateur_buffer(s_etat_processus); |
|
|
|
free((*s_etat_processus).localisation); |
free((*s_etat_processus).localisation); |
free((*s_etat_processus).chemin_fichiers_temporaires); |
free((*s_etat_processus).chemin_fichiers_temporaires); |
free(s_argument_thread); |
free(s_argument_thread); |
|
|
|
liberation_allocateur(s_etat_processus); |
|
liberation_allocateur_buffer(s_etat_processus); |
|
|
|
attente.tv_sec = 0; |
|
attente.tv_nsec = GRANULARITE_us * 1000; |
|
|
|
while(nombre_thread_surveillance_processus != 0) |
|
{ |
|
nanosleep(&attente, NULL); |
|
INCR_GRANULARITE(attente.tv_nsec); |
|
} |
|
|
pthread_mutex_destroy(&((*s_etat_processus).mutex_pile_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_allocation)); |
pthread_mutex_destroy(&((*s_etat_processus).mutex_interruptions)); |
pthread_mutex_destroy(&((*s_etat_processus).mutex_interruptions)); |