diff options
Diffstat (limited to 'testsuites/psxtests/psxsignal03/init.c')
-rw-r--r-- | testsuites/psxtests/psxsignal03/init.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/testsuites/psxtests/psxsignal03/init.c b/testsuites/psxtests/psxsignal03/init.c index b51ff36313..fcf7192664 100644 --- a/testsuites/psxtests/psxsignal03/init.c +++ b/testsuites/psxtests/psxsignal03/init.c @@ -64,6 +64,18 @@ const char *signal_name(int signo); volatile bool Signal_occurred; volatile pthread_t Signal_thread; +static void block_all_signals(void) +{ + int sc; + sigset_t mask; + + sc = sigfillset( &mask ); + rtems_test_assert( !sc ); + + sc = pthread_sigmask( SIG_BLOCK, &mask, NULL ); + rtems_test_assert( !sc ); +} + void Signal_handler( int signo, siginfo_t *info, @@ -166,6 +178,8 @@ void *POSIX_Init( TEST_BEGIN(); puts( "Init - Variation is: " TEST_STRING ); + block_all_signals(); + Signal_occurred = false; act.sa_handler = NULL; |