summaryrefslogtreecommitdiffstats
path: root/testsuites/psxtests/psxsignal03/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/psxtests/psxsignal03/init.c')
-rw-r--r--testsuites/psxtests/psxsignal03/init.c14
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;