From 6f6da82ca0b57ed1c42050f8103c2ea2adb3d3e2 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 26 Jan 2017 11:06:50 +0100 Subject: score: Fix user extensions order Use forward and reverse order for initial and dynamic extensions. This is the behaviour documented in the C Users Guide. Change thread terminate order to backward to be in line with the thread delete order. Change fatal error order to forward to ensure that initial extensions are called first due the peculiar execution context of fatal error extensions, see _Terminate() documentation. Update #2692. --- cpukit/score/include/rtems/score/userextimpl.h | 4 ++-- cpukit/score/include/rtems/sysinit.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'cpukit/score/include/rtems') diff --git a/cpukit/score/include/rtems/score/userextimpl.h b/cpukit/score/include/rtems/score/userextimpl.h index 6684c4a264..5ad2c63765 100644 --- a/cpukit/score/include/rtems/score/userextimpl.h +++ b/cpukit/score/include/rtems/score/userextimpl.h @@ -307,7 +307,7 @@ static inline void _User_extensions_Fatal( _User_extensions_Iterate( &ctx, _User_extensions_Fatal_visitor, - CHAIN_ITERATOR_BACKWARD + CHAIN_ITERATOR_FORWARD ); } @@ -318,7 +318,7 @@ static inline void _User_extensions_Thread_terminate( _User_extensions_Iterate( executing, _User_extensions_Thread_terminate_visitor, - CHAIN_ITERATOR_FORWARD + CHAIN_ITERATOR_BACKWARD ); } diff --git a/cpukit/score/include/rtems/sysinit.h b/cpukit/score/include/rtems/sysinit.h index 7923385cd1..bd4778ab5c 100644 --- a/cpukit/score/include/rtems/sysinit.h +++ b/cpukit/score/include/rtems/sysinit.h @@ -55,8 +55,8 @@ extern "C" { #define RTEMS_SYSINIT_POSIX_BARRIER 000367 #define RTEMS_SYSINIT_POSIX_RWLOCK 000368 #define RTEMS_SYSINIT_POSIX_SHM 000369 -#define RTEMS_SYSINIT_POSIX_CLEANUP 00036a -#define RTEMS_SYSINIT_POSIX_KEYS 00036b +#define RTEMS_SYSINIT_POSIX_KEYS 00036a +#define RTEMS_SYSINIT_POSIX_CLEANUP 00036b #define RTEMS_SYSINIT_IDLE_THREADS 000380 #define RTEMS_SYSINIT_LIBIO 000400 #define RTEMS_SYSINIT_ROOT_FILESYSTEM 000401 -- cgit v1.2.3