diff options
Diffstat (limited to 'cpukit/posix/include/rtems/posix')
-rw-r--r-- | cpukit/posix/include/rtems/posix/psignalimpl.h | 12 | ||||
-rw-r--r-- | cpukit/posix/include/rtems/posix/threadsup.h | 5 |
2 files changed, 11 insertions, 6 deletions
diff --git a/cpukit/posix/include/rtems/posix/psignalimpl.h b/cpukit/posix/include/rtems/posix/psignalimpl.h index 17ce19fd0e..81561e2539 100644 --- a/cpukit/posix/include/rtems/posix/psignalimpl.h +++ b/cpukit/posix/include/rtems/posix/psignalimpl.h @@ -69,8 +69,6 @@ extern Chain_Control _POSIX_signals_Inactive_siginfo; extern Chain_Control _POSIX_signals_Siginfo[ SIG_ARRAY_MAX ]; -extern API_extensions_Post_switch_control _POSIX_signals_Post_switch; - /* * Internal routines */ @@ -86,10 +84,12 @@ void _POSIX_signals_Manager_Initialization(void); #define _POSIX_signals_Release( lock_context ) \ _ISR_lock_Release_and_ISR_enable( &_POSIX_signals_Lock, lock_context ) -static inline void _POSIX_signals_Add_post_switch_extension(void) -{ - _API_extensions_Add_post_switch( &_POSIX_signals_Post_switch ); -} +void _POSIX_signals_Action_handler( + Thread_Control *executing, + Thread_Action *action, + Per_CPU_Control *cpu, + ISR_Level level +); /** * @brief Unlock POSIX signals thread. diff --git a/cpukit/posix/include/rtems/posix/threadsup.h b/cpukit/posix/include/rtems/posix/threadsup.h index e0b9ff55e9..46903fed98 100644 --- a/cpukit/posix/include/rtems/posix/threadsup.h +++ b/cpukit/posix/include/rtems/posix/threadsup.h @@ -68,6 +68,11 @@ typedef struct { /** This is the set of signals which are currently pending. */ sigset_t signals_pending; + /** + * @brief Signal post-switch action in case signals are pending. + */ + Thread_Action Signal_action; + /*******************************************************************/ /*******************************************************************/ /*************** POSIX Cancelability ***************/ |