--- rpl/src/interruptions.c 2010/08/31 09:57:43 1.38 +++ rpl/src/interruptions.c 2010/09/02 07:51:48 1.39 @@ -1597,7 +1597,6 @@ verrouillage_gestionnaire_signaux() while(sem_trywait(semaphore_liste_threads) == -1) # endif { - perror("sem_trywait"); if ((errno != EINTR) && (errno != EAGAIN)) { pthread_sigmask(SIG_SETMASK, &oldset, NULL); @@ -1751,7 +1750,14 @@ interruption1(SIGHANDLER_ARGS) pid = origine_signal(signal); } # else - pid = (*siginfo).si_pid; + if (siginfo != NULL) + { + pid = (*siginfo).si_pid; + } + else + { + pid = getpid(); + } # endif switch(signal) @@ -1898,7 +1904,14 @@ interruption2(SIGHANDLER_ARGS) # ifdef _BROKEN_SIGINFO pid = origine_signal(signal); # else - pid = (*siginfo).si_pid; + if (siginfo != NULL) + { + pid = (*siginfo).si_pid; + } + else + { + pid = getpid(); + } # endif # ifndef _BROKEN_SIGINFO