--- rpl/src/interruptions.c 2010/06/17 11:00:23 1.22 +++ rpl/src/interruptions.c 2010/08/13 21:00:37 1.29 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.16 + RPL/2 (R) version 4.0.18 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -1733,6 +1733,10 @@ interruption1(int signal, siginfo_t *sig volatile sig_atomic_t exclusion = 0; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); switch(signal) @@ -1868,6 +1872,10 @@ interruption2(int signal, siginfo_t *sig pthread_t thread; struct_processus *s_etat_processus; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); if (siginfo == NULL) @@ -1941,6 +1949,10 @@ interruption3(int signal, siginfo_t *sig static int compteur = 0; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); if ((s_etat_processus = recherche_thread(getpid(), pthread_self())) == NULL) @@ -1999,6 +2011,10 @@ interruption4(int signal, siginfo_t *sig { struct_processus *s_etat_processus; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); if ((s_etat_processus = recherche_thread(getpid(), pthread_self())) == NULL) @@ -2028,6 +2044,10 @@ interruption5(int signal, siginfo_t *sig pthread_t thread; struct_processus *s_etat_processus; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); if ((*siginfo).si_pid == getpid()) @@ -2090,6 +2110,10 @@ interruption6(int signal, siginfo_t *sig { struct_processus *s_etat_processus; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); if ((s_etat_processus = recherche_thread(getpid(), pthread_self())) == NULL) @@ -2114,6 +2138,10 @@ interruption7(int signal, siginfo_t *sig { struct_processus *s_etat_processus; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); if ((s_etat_processus = recherche_thread(getpid(), pthread_self())) == NULL) @@ -2142,6 +2170,10 @@ interruption8(int signal, siginfo_t *sig pthread_t thread; struct_processus *s_etat_processus; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); if ((*siginfo).si_pid == getpid()) @@ -2184,6 +2216,10 @@ interruption9(int signal, siginfo_t *sig { struct_processus *s_etat_processus; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); if ((s_etat_processus = recherche_thread(getpid(), pthread_self())) == NULL) @@ -2213,6 +2249,10 @@ interruption10(int signal, siginfo_t *si unsigned char nom[8 + 64 + 1]; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); if ((s_etat_processus = recherche_thread(getpid(), pthread_self())) == NULL) @@ -2251,6 +2291,10 @@ interruption11(int signal, siginfo_t *si pthread_t thread; struct_processus *s_etat_processus; +# ifdef _BROKEN_SIGINFO + (*siginfo).si_pid=getpid(); +# endif + verrouillage_gestionnaire_signaux(); if ((*siginfo).si_pid == getpid())