score: Inline _User_extensions_Thread_switch()

The _User_extensions_Thread_switch() function is only used in
_Thread_Dispatch().
This commit is contained in:
Sebastian Huber
2012-11-22 15:00:21 +01:00
parent 3be0c9afa3
commit 32b2c83d00
3 changed files with 17 additions and 44 deletions

View File

@@ -319,8 +319,7 @@ libscore_a_SOURCES += src/watchdog.c src/watchdogadjust.c \
## USEREXT_C_FILES
libscore_a_SOURCES += src/userextaddset.c \
src/userext.c src/userextremoveset.c src/userextiterate.c \
src/userextthreadswitch.c
src/userext.c src/userextremoveset.c src/userextiterate.c
## STD_C_FILES
libscore_a_SOURCES += src/apiext.c src/chain.c src/chainappend.c \

View File

@@ -199,10 +199,24 @@ static inline void _User_extensions_Thread_begin( Thread_Control *executing )
);
}
void _User_extensions_Thread_switch(
static inline void _User_extensions_Thread_switch(
Thread_Control *executing,
Thread_Control *heir
);
)
{
const Chain_Control *chain = &_User_extensions_Switches_list;
const Chain_Node *tail = _Chain_Immutable_tail( chain );
const Chain_Node *node = _Chain_Immutable_first( chain );
while ( node != tail ) {
const User_extensions_Switch_control *extension =
(const User_extensions_Switch_control *) node;
(*extension->thread_switch)( executing, heir );
node = _Chain_Immutable_next( node );
}
}
static inline void _User_extensions_Thread_exitted( Thread_Control *executing )
{

View File

@@ -1,40 +0,0 @@
/**
* @file
*
* @ingroup ScoreUserExt
*
* @brief User Extension Handler implementation.
*/
/*
* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <rtems/score/userextimpl.h>
void _User_extensions_Thread_switch (
Thread_Control *executing,
Thread_Control *heir
)
{
Chain_Node *the_node;
User_extensions_Switch_control *the_extension_switch;
for ( the_node = _Chain_First( &_User_extensions_Switches_list );
!_Chain_Is_tail( &_User_extensions_Switches_list, the_node ) ;
the_node = the_node->next ) {
the_extension_switch = (User_extensions_Switch_control *) the_node;
(*the_extension_switch->thread_switch)( executing, heir );
}
}