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.
This commit is contained in:
Joel Sherrill
1998-03-31 14:19:27 +00:00
parent 4104db2dd9
commit 5e34bf4b95
2 changed files with 8 additions and 0 deletions

View File

@@ -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)))

View File

@@ -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)))