forked from Imagelibrary/rtems
2002-04-08 Chris Johns <ccj@acm.org>
* Per PR142, make task switch extension its own list. * include/rtems/score/userext.h: Reflect above by adding User_extensions_Switch_control and adding it to User_extenions_Control. * inline/rtems/score/userext.inl: Allocate all memory in one chunk to minimize overhead. Address processing dedicated switch chain.
This commit is contained in:
@@ -91,12 +91,25 @@ typedef struct {
|
||||
} User_extensions_Table;
|
||||
|
||||
/*
|
||||
* The following is used to manage each user extension set.
|
||||
* The following is used to manage the list of switch handlers.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
Chain_Node Node;
|
||||
User_extensions_Table Callouts;
|
||||
Chain_Node Node;
|
||||
User_extensions_thread_switch_extension thread_switch;
|
||||
} User_extensions_Switch_control;
|
||||
|
||||
/*
|
||||
* The following is used to manage each user extension set.
|
||||
* The switch control is part of the extensions control even
|
||||
* if not used due to the extension not having a switch
|
||||
* handler.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
Chain_Node Node;
|
||||
User_extensions_Switch_control Switch;
|
||||
User_extensions_Table Callouts;
|
||||
} User_extensions_Control;
|
||||
|
||||
/*
|
||||
@@ -105,6 +118,13 @@ typedef struct {
|
||||
|
||||
SCORE_EXTERN Chain_Control _User_extensions_List;
|
||||
|
||||
/*
|
||||
* The following is used to manage a chain of user extension task
|
||||
* switch nodes.
|
||||
*/
|
||||
|
||||
SCORE_EXTERN Chain_Control _User_extensions_Switches_list;
|
||||
|
||||
/*
|
||||
* _User_extensions_Thread_create
|
||||
*
|
||||
|
||||
@@ -91,12 +91,25 @@ typedef struct {
|
||||
} User_extensions_Table;
|
||||
|
||||
/*
|
||||
* The following is used to manage each user extension set.
|
||||
* The following is used to manage the list of switch handlers.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
Chain_Node Node;
|
||||
User_extensions_Table Callouts;
|
||||
Chain_Node Node;
|
||||
User_extensions_thread_switch_extension thread_switch;
|
||||
} User_extensions_Switch_control;
|
||||
|
||||
/*
|
||||
* The following is used to manage each user extension set.
|
||||
* The switch control is part of the extensions control even
|
||||
* if not used due to the extension not having a switch
|
||||
* handler.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
Chain_Node Node;
|
||||
User_extensions_Switch_control Switch;
|
||||
User_extensions_Table Callouts;
|
||||
} User_extensions_Control;
|
||||
|
||||
/*
|
||||
@@ -105,6 +118,13 @@ typedef struct {
|
||||
|
||||
SCORE_EXTERN Chain_Control _User_extensions_List;
|
||||
|
||||
/*
|
||||
* The following is used to manage a chain of user extension task
|
||||
* switch nodes.
|
||||
*/
|
||||
|
||||
SCORE_EXTERN Chain_Control _User_extensions_Switches_list;
|
||||
|
||||
/*
|
||||
* _User_extensions_Thread_create
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user