forked from Imagelibrary/rtems
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:
@@ -243,7 +243,11 @@ void _CPU_Sync_io_Init()
|
|||||||
unsigned32 _CPU_ISR_Get_level( void )
|
unsigned32 _CPU_ISR_Get_level( void )
|
||||||
{
|
{
|
||||||
sigset_t old_mask;
|
sigset_t old_mask;
|
||||||
|
sigset_t new_mask;
|
||||||
|
|
||||||
|
#if defined(__linux__)
|
||||||
|
sigemptyset( &old_mask );
|
||||||
|
#endif
|
||||||
sigprocmask(SIG_BLOCK, 0, &old_mask);
|
sigprocmask(SIG_BLOCK, 0, &old_mask);
|
||||||
|
|
||||||
if (memcmp((void *)&posix_empty_mask, (void *)&old_mask, sizeof(sigset_t)))
|
if (memcmp((void *)&posix_empty_mask, (void *)&old_mask, sizeof(sigset_t)))
|
||||||
|
|||||||
@@ -243,7 +243,11 @@ void _CPU_Sync_io_Init()
|
|||||||
unsigned32 _CPU_ISR_Get_level( void )
|
unsigned32 _CPU_ISR_Get_level( void )
|
||||||
{
|
{
|
||||||
sigset_t old_mask;
|
sigset_t old_mask;
|
||||||
|
sigset_t new_mask;
|
||||||
|
|
||||||
|
#if defined(__linux__)
|
||||||
|
sigemptyset( &old_mask );
|
||||||
|
#endif
|
||||||
sigprocmask(SIG_BLOCK, 0, &old_mask);
|
sigprocmask(SIG_BLOCK, 0, &old_mask);
|
||||||
|
|
||||||
if (memcmp((void *)&posix_empty_mask, (void *)&old_mask, sizeof(sigset_t)))
|
if (memcmp((void *)&posix_empty_mask, (void *)&old_mask, sizeof(sigset_t)))
|
||||||
|
|||||||
Reference in New Issue
Block a user