From 5e34bf4b95dc1611a7b9dfc1db896b633cbef8ab Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 31 Mar 1998 14:19:27 +0000 Subject: [PATCH] Added "sigemptyset()" call to insure that the memcmp() would work. It appears that the new glibc does not clear all the bits of the signal set with a sigprocmask. --- c/src/exec/score/cpu/unix/cpu.c | 4 ++++ cpukit/score/cpu/unix/cpu.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/c/src/exec/score/cpu/unix/cpu.c b/c/src/exec/score/cpu/unix/cpu.c index af59fdbc72..6eb338f991 100644 --- a/c/src/exec/score/cpu/unix/cpu.c +++ b/c/src/exec/score/cpu/unix/cpu.c @@ -243,7 +243,11 @@ void _CPU_Sync_io_Init() unsigned32 _CPU_ISR_Get_level( void ) { sigset_t old_mask; + sigset_t new_mask; +#if defined(__linux__) + sigemptyset( &old_mask ); +#endif sigprocmask(SIG_BLOCK, 0, &old_mask); if (memcmp((void *)&posix_empty_mask, (void *)&old_mask, sizeof(sigset_t))) diff --git a/cpukit/score/cpu/unix/cpu.c b/cpukit/score/cpu/unix/cpu.c index af59fdbc72..6eb338f991 100644 --- a/cpukit/score/cpu/unix/cpu.c +++ b/cpukit/score/cpu/unix/cpu.c @@ -243,7 +243,11 @@ void _CPU_Sync_io_Init() unsigned32 _CPU_ISR_Get_level( void ) { sigset_t old_mask; + sigset_t new_mask; +#if defined(__linux__) + sigemptyset( &old_mask ); +#endif sigprocmask(SIG_BLOCK, 0, &old_mask); if (memcmp((void *)&posix_empty_mask, (void *)&old_mask, sizeof(sigset_t)))