--- rpl/src/fusible.c 2012/04/13 14:12:48 1.42 +++ rpl/src/fusible.c 2024/01/17 16:57:10 1.82 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.8 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.36 + Copyright (C) 1989-2024 Dr. BERTRAND Joël This file is part of RPL/2. @@ -53,6 +53,11 @@ fusible(void *argument) struct timespec temporisation; + sigset_t set; + + sigfillset(&set); + pthread_sigmask(SIG_BLOCK, &set, NULL); + s_etat_processus = argument; if ((*s_etat_processus).debug == d_vrai) @@ -85,7 +90,7 @@ fusible(void *argument) # ifndef OS2 getrusage(RUSAGE_SELF, &s_rusage); - temps_cpu_courant = s_rusage.ru_utime.tv_sec + + temps_cpu_courant = ((real8) s_rusage.ru_utime.tv_sec) + (((real8) s_rusage.ru_utime.tv_usec) / ((real8) 1E6)); # else horloge = clock(); @@ -100,7 +105,7 @@ fusible(void *argument) # ifndef OS2 getrusage(RUSAGE_SELF, &s_rusage); - temps_cpu_courant = s_rusage.ru_utime.tv_sec + + temps_cpu_courant = ((real8) s_rusage.ru_utime.tv_sec) + (((real8) s_rusage.ru_utime.tv_usec) / ((real8) 1E6)); # else horloge = clock(); @@ -120,7 +125,7 @@ fusible(void *argument) { (*s_etat_processus).temps_maximal_cpu = 0; - envoi_signal_thread((*s_etat_processus) + envoi_signal_thread(NULL, (*s_etat_processus) .thread_surveille_par_fusible, rpl_sigstop); break; }