From 1bf2f160e258b729c1fb5ac7abd486e4757a9149 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sat, 6 Apr 2019 14:26:00 +0200 Subject: posix: Avoid workspace for queued signals --- cpukit/posix/src/psignal.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) (limited to 'cpukit/posix/src/psignal.c') diff --git a/cpukit/posix/src/psignal.c b/cpukit/posix/src/psignal.c index 3a1bd41cad..efc4bcc653 100644 --- a/cpukit/posix/src/psignal.c +++ b/cpukit/posix/src/psignal.c @@ -100,10 +100,7 @@ Chain_Control _POSIX_signals_Siginfo[ SIG_ARRAY_MAX ]; static void _POSIX_signals_Manager_Initialization(void) { - uint32_t signo; - uint32_t maximum_queued_signals; - - maximum_queued_signals = _POSIX_signals_Maximum_queued_signals; + uint32_t signo; memcpy( _POSIX_signals_Vectors, @@ -121,21 +118,16 @@ static void _POSIX_signals_Manager_Initialization(void) /* * Allocate the siginfo pools. */ - for ( signo=1 ; signo<= SIGRTMAX ; signo++ ) + for ( signo=1 ; signo<= SIGRTMAX ; signo++ ) { _Chain_Initialize_empty( &_POSIX_signals_Siginfo[ signo ] ); - - if ( maximum_queued_signals ) { - _Chain_Initialize( - &_POSIX_signals_Inactive_siginfo, - _Workspace_Allocate_or_fatal_error( - maximum_queued_signals * sizeof( POSIX_signals_Siginfo_node ) - ), - maximum_queued_signals, - sizeof( POSIX_signals_Siginfo_node ) - ); - } else { - _Chain_Initialize_empty( &_POSIX_signals_Inactive_siginfo ); } + + _Chain_Initialize( + &_POSIX_signals_Inactive_siginfo, + &_POSIX_signals_Siginfo_nodes[ 0 ], + _POSIX_signals_Maximum_queued_signals, + sizeof( _POSIX_signals_Siginfo_nodes[ 0 ] ) + ); } RTEMS_SYSINIT_ITEM( -- cgit v1.2.3