diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-12-10 13:46:07 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-02-03 10:00:54 +0100 |
commit | 04436ae7d83825300df85cabc3953f9c0314fe72 (patch) | |
tree | 974945b981d60cd327614dc69fe84519c40fcbe2 /cpukit | |
parent | rtems: Delete empty _RTEMS_API_Initialize() (diff) | |
download | rtems-04436ae7d83825300df85cabc3953f9c0314fe72.tar.bz2 |
Optional POSIX Signals initialization
Update #2408.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/posix/include/rtems/posix/psignalimpl.h | 5 | ||||
-rw-r--r-- | cpukit/posix/src/psignal.c | 9 | ||||
-rw-r--r-- | cpukit/sapi/src/posixapi.c | 1 | ||||
-rw-r--r-- | cpukit/score/include/rtems/sysinit.h | 1 |
4 files changed, 9 insertions, 7 deletions
diff --git a/cpukit/posix/include/rtems/posix/psignalimpl.h b/cpukit/posix/include/rtems/posix/psignalimpl.h index d7e1afab70..b8870841cd 100644 --- a/cpukit/posix/include/rtems/posix/psignalimpl.h +++ b/cpukit/posix/include/rtems/posix/psignalimpl.h @@ -72,11 +72,6 @@ extern Chain_Control _POSIX_signals_Siginfo[ SIG_ARRAY_MAX ]; * Internal routines */ -/** - * @brief POSIX signals manager initialization. - */ -void _POSIX_signals_Manager_Initialization(void); - #define _POSIX_signals_Acquire( lock_context ) \ _Thread_queue_Acquire( &_POSIX_signals_Wait_queue, lock_context ) diff --git a/cpukit/posix/src/psignal.c b/cpukit/posix/src/psignal.c index f00bcdbb52..08b049bc46 100644 --- a/cpukit/posix/src/psignal.c +++ b/cpukit/posix/src/psignal.c @@ -33,6 +33,7 @@ #include <rtems/posix/pthreadimpl.h> #include <rtems/config.h> #include <rtems/seterr.h> +#include <rtems/sysinit.h> /* * Ensure we have the same number of vectors and default vector entries @@ -166,7 +167,7 @@ void _POSIX_signals_Action_handler( executing->Wait.return_code = hold_errno; } -void _POSIX_signals_Manager_Initialization(void) +static void _POSIX_signals_Manager_Initialization(void) { uint32_t signo; uint32_t maximum_queued_signals; @@ -213,3 +214,9 @@ void _POSIX_signals_Manager_Initialization(void) _Chain_Initialize_empty( &_POSIX_signals_Inactive_siginfo ); } } + +RTEMS_SYSINIT_ITEM( + _POSIX_signals_Manager_Initialization, + RTEMS_SYSINIT_POSIX_SIGNALS, + RTEMS_SYSINIT_ORDER_MIDDLE +); diff --git a/cpukit/sapi/src/posixapi.c b/cpukit/sapi/src/posixapi.c index 60fa17ed46..1c54b77e5a 100644 --- a/cpukit/sapi/src/posixapi.c +++ b/cpukit/sapi/src/posixapi.c @@ -64,7 +64,6 @@ void _POSIX_API_Initialize(void) _POSIX_Key_Manager_initialization(); #ifdef RTEMS_POSIX_API - _POSIX_signals_Manager_Initialization(); _POSIX_Threads_Manager_initialization(); _POSIX_Condition_variables_Manager_initialization(); _POSIX_Mutex_Manager_initialization(); diff --git a/cpukit/score/include/rtems/sysinit.h b/cpukit/score/include/rtems/sysinit.h index faef223658..a6cb32f8c8 100644 --- a/cpukit/score/include/rtems/sysinit.h +++ b/cpukit/score/include/rtems/sysinit.h @@ -42,6 +42,7 @@ extern "C" { #define RTEMS_SYSINIT_CLASSIC_DUAL_PORTED_MEMORY 000348 #define RTEMS_SYSINIT_CLASSIC_RATE_MONOTONIC 000349 #define RTEMS_SYSINIT_CLASSIC_BARRIER 00034a +#define RTEMS_SYSINIT_POSIX_SIGNALS 000360 #define RTEMS_SYSINIT_IDLE_THREADS 000380 #define RTEMS_SYSINIT_BSP_LIBC 000400 #define RTEMS_SYSINIT_BEFORE_DRIVERS 000500 |