summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-01-26 11:06:50 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-01-26 11:20:45 +0100
commit6f6da82ca0b57ed1c42050f8103c2ea2adb3d3e2 (patch)
tree0a2384e1eed6247010b5d890d078212227956a2a /cpukit/score/include/rtems
parentsapi: Add rtems_task_terminate_extension (diff)
downloadrtems-6f6da82ca0b57ed1c42050f8103c2ea2adb3d3e2.tar.bz2
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.
Diffstat (limited to 'cpukit/score/include/rtems')
-rw-r--r--cpukit/score/include/rtems/score/userextimpl.h4
-rw-r--r--cpukit/score/include/rtems/sysinit.h4
2 files changed, 4 insertions, 4 deletions
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