summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-11-28 10:45:38 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-12-05 18:07:04 +0100
commit04b5d174a4def46c0f667207119f2f5b83e247b4 (patch)
tree2c622c7c19c4b242c077a7c8a2e5f7242b77199c /cpukit/score/src
parentscore: Add _Chain_Append_if_is_off_chain_*() (diff)
downloadrtems-04b5d174a4def46c0f667207119f2f5b83e247b4.tar.bz2
score: Add API extensions post switch list
Move post switch hook from API_extensions_Control to new API_extensions_Post_switch_control. Rename _API_extensions_Run_postswitch() in _API_extensions_Run_post_switch(). Add _API_extensions_Post_switch_list and _API_extensions_Add_post_switch().
Diffstat (limited to 'cpukit/score/src')
-rw-r--r--cpukit/score/src/apiext.c11
-rw-r--r--cpukit/score/src/threaddispatch.c4
2 files changed, 13 insertions, 2 deletions
diff --git a/cpukit/score/src/apiext.c b/cpukit/score/src/apiext.c
index 73dffee856..fbca353131 100644
--- a/cpukit/score/src/apiext.c
+++ b/cpukit/score/src/apiext.c
@@ -25,6 +25,7 @@
void _API_extensions_Initialization( void )
{
_Chain_Initialize_empty( &_API_extensions_List );
+ _Chain_Initialize_empty( &_API_extensions_Post_switch_list );
}
void _API_extensions_Add(
@@ -34,6 +35,16 @@ void _API_extensions_Add(
_Chain_Append( &_API_extensions_List, &the_extension->Node );
}
+void _API_extensions_Add_post_switch(
+ API_extensions_Post_switch_control *post_switch
+)
+{
+ _Chain_Append_if_is_off_chain_unprotected(
+ &_API_extensions_Post_switch_list,
+ &post_switch->Node
+ );
+}
+
#if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API)
void _API_extensions_Run_predriver( void )
diff --git a/cpukit/score/src/threaddispatch.c b/cpukit/score/src/threaddispatch.c
index 283d27880d..66c7bdcd43 100644
--- a/cpukit/score/src/threaddispatch.c
+++ b/cpukit/score/src/threaddispatch.c
@@ -69,7 +69,7 @@ void _Thread_Dispatch( void )
*
* _Thread_Unnest_dispatch();
*
- * _API_extensions_Run_postswitch();
+ * _API_extensions_Run_post_switch();
* }
*
* The interrupt event makes task H ready. The interrupt code will see
@@ -202,5 +202,5 @@ post_switch:
_Thread_Unnest_dispatch();
#endif
- _API_extensions_Run_postswitch( executing );
+ _API_extensions_Run_post_switch( executing );
}