From ca68215e19a76ee091ac3755abb2989edcaa2824 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 26 Aug 2013 16:22:30 +0200 Subject: posix: _POSIX_signals_Clear_process_signals() Do not disable interrupts since the caller did this already. --- cpukit/posix/src/psignalclearprocesssignals.c | 39 ++++++++------------------- 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/cpukit/posix/src/psignalclearprocesssignals.c b/cpukit/posix/src/psignalclearprocesssignals.c index 07e4a216bc..aa2cd49e6d 100644 --- a/cpukit/posix/src/psignalclearprocesssignals.c +++ b/cpukit/posix/src/psignalclearprocesssignals.c @@ -18,24 +18,8 @@ #include "config.h" #endif -#include -#include -#include - -#include -#include -#include -#include -#include -#include #include -#include -#include -#include - -/* - * _POSIX_signals_Clear_process_signals - */ +#include void _POSIX_signals_Clear_process_signals( int signo @@ -44,18 +28,17 @@ void _POSIX_signals_Clear_process_signals( sigset_t mask; bool clear_signal; + _Assert( _ISR_Get_level() != 0 ); + clear_signal = true; mask = signo_to_mask( signo ); - ISR_Level level; - - _ISR_Disable( level ); - if ( _POSIX_signals_Vectors[ signo ].sa_flags == SA_SIGINFO ) { - if ( !_Chain_Is_empty( &_POSIX_signals_Siginfo[ signo ] ) ) - clear_signal = false; - } - if ( clear_signal ) { - _POSIX_signals_Pending &= ~mask; - } - _ISR_Enable( level ); + if ( _POSIX_signals_Vectors[ signo ].sa_flags == SA_SIGINFO ) { + if ( !_Chain_Is_empty( &_POSIX_signals_Siginfo[ signo ] ) ) + clear_signal = false; + } + + if ( clear_signal ) { + _POSIX_signals_Pending &= ~mask; + } } -- cgit v1.2.3