forked from Imagelibrary/rtems
score: Inline _User_extensions_Thread_switch()
The _User_extensions_Thread_switch() function is only used in _Thread_Dispatch().
This commit is contained in:
@@ -319,8 +319,7 @@ libscore_a_SOURCES += src/watchdog.c src/watchdogadjust.c \
|
|||||||
|
|
||||||
## USEREXT_C_FILES
|
## USEREXT_C_FILES
|
||||||
libscore_a_SOURCES += src/userextaddset.c \
|
libscore_a_SOURCES += src/userextaddset.c \
|
||||||
src/userext.c src/userextremoveset.c src/userextiterate.c \
|
src/userext.c src/userextremoveset.c src/userextiterate.c
|
||||||
src/userextthreadswitch.c
|
|
||||||
|
|
||||||
## STD_C_FILES
|
## STD_C_FILES
|
||||||
libscore_a_SOURCES += src/apiext.c src/chain.c src/chainappend.c \
|
libscore_a_SOURCES += src/apiext.c src/chain.c src/chainappend.c \
|
||||||
|
|||||||
@@ -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 *executing,
|
||||||
Thread_Control *heir
|
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 )
|
static inline void _User_extensions_Thread_exitted( Thread_Control *executing )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user