--- rpl/src/gestion_threads.c 2010/06/19 15:54:51 1.21 +++ rpl/src/gestion_threads.c 2011/03/06 16:44:09 1.33 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.16 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.0.21 + Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -268,6 +268,7 @@ lancement_thread(void *argument) && ((*s_etat_processus).at_exit != NULL)) { (*s_etat_processus).var_volatile_requete_arret = 0; + (*s_etat_processus).var_volatile_traitement_retarde_stop = -1; if (evaluation(s_etat_processus, (*s_etat_processus).at_exit, 'E') == d_erreur) @@ -1030,6 +1031,7 @@ lancement_thread(void *argument) liberation(s_etat_processus, (*s_argument_thread).argument); liberation(s_etat_processus, (*s_etat_processus).at_exit); + liberation(s_etat_processus, (*s_etat_processus).at_poke); for(i = 0; i < d_NOMBRE_INTERRUPTIONS; i++) { @@ -1079,6 +1081,8 @@ lancement_thread(void *argument) pthread_mutex_destroy(&((*s_etat_processus).mutex)); pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation)); + sem_destroy(&((*s_etat_processus).semaphore_fork)); + free((*s_etat_processus).localisation); free(s_etat_processus); @@ -1087,6 +1091,7 @@ lancement_thread(void *argument) (*s_argument_thread).thread_actif = d_faux; pthread_exit(NULL); + return(NULL); } // vim: ts=4