diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-12-14 13:10:24 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-12-15 07:41:34 +0100 |
commit | 173d1f84736c50cdfbd058b2570d698957b7ba94 (patch) | |
tree | c92e5aceb83cb3e041039e9a4d47b1bd4c97249a /cpukit/posix/src/psignalchecksignal.c | |
parent | score: Initialize thread control to zero (diff) | |
download | rtems-173d1f84736c50cdfbd058b2570d698957b7ba94.tar.bz2 |
posix: Store unblocked signals
Store the unblock signals to exploit the zero-initialization of the
thread control block.
Diffstat (limited to 'cpukit/posix/src/psignalchecksignal.c')
-rw-r--r-- | cpukit/posix/src/psignalchecksignal.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/cpukit/posix/src/psignalchecksignal.c b/cpukit/posix/src/psignalchecksignal.c index 2f9fe10a5a..990bcc2c34 100644 --- a/cpukit/posix/src/psignalchecksignal.c +++ b/cpukit/posix/src/psignalchecksignal.c @@ -43,7 +43,7 @@ bool _POSIX_signals_Check_signal( ) { siginfo_t siginfo_struct; - sigset_t saved_signals_blocked; + sigset_t saved_signals_unblocked; Thread_Wait_information stored_thread_wait_information; Thread_Control *executing; @@ -69,8 +69,8 @@ bool _POSIX_signals_Check_signal( /* * Block the signals requested in sa_mask */ - saved_signals_blocked = api->signals_blocked; - api->signals_blocked |= _POSIX_signals_Vectors[ signo ].sa_mask; + saved_signals_unblocked = api->signals_unblocked; + api->signals_unblocked &= ~_POSIX_signals_Vectors[ signo ].sa_mask; executing = _Thread_Get_executing(); @@ -105,9 +105,9 @@ bool _POSIX_signals_Check_signal( sizeof( executing->Wait )); /* - * Restore the previous set of blocked signals + * Restore the previous set of unblocked signals */ - api->signals_blocked = saved_signals_blocked; + api->signals_unblocked = saved_signals_unblocked; return true; } |