--- rpl/src/fusible.c 2011/10/14 08:13:05 1.36 +++ rpl/src/fusible.c 2020/01/10 11:15:42 1.77 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.4 - Copyright (C) 1989-2011 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.32 + Copyright (C) 1989-2020 Dr. BERTRAND Joël This file is part of RPL/2. @@ -40,8 +40,6 @@ void * fusible(void *argument) { -# ifndef OS2 - real8 temps_cpu_precedent; real8 temps_cpu_courant; @@ -55,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) @@ -87,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(); @@ -102,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(); @@ -122,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; }