forked from Imagelibrary/rtems
score: Replace STATES_DELAYING
Replace STATES_DELAYING with STATES_WAITING_FOR_TIME. There is no need for separate timeout thread states. The Thread_Control::Timer::header and Watchdog_Control::cpu members can be used to figure out the kind of timeout.
This commit is contained in:
@@ -514,7 +514,6 @@ rtems_debugger_thread_state_str(rtems_debugger_thread* thread,
|
||||
DB_UINT mask;
|
||||
};
|
||||
const struct mapper map[] = {
|
||||
{ "DELAY", STATES_DELAYING },
|
||||
{ "DORM", STATES_DORMANT },
|
||||
{ "LIFE", STATES_LIFE_IS_CHANGING },
|
||||
{ "SUSP", STATES_SUSPENDED },
|
||||
|
||||
@@ -115,7 +115,6 @@ rtems_monitor_dump_priority(rtems_task_priority priority)
|
||||
#define WITH_ID(state) (STATES_THREAD_QUEUE_WITH_IDENTIFIER | state)
|
||||
|
||||
static const rtems_assoc_t rtems_monitor_state_assoc[] = {
|
||||
{ "DELAY", STATES_DELAYING, 0 },
|
||||
{ "DORM", STATES_DORMANT, 0 },
|
||||
{ "LIFE", STATES_LIFE_IS_CHANGING, 0 },
|
||||
{ "SUSP", STATES_SUSPENDED, 0 },
|
||||
|
||||
@@ -49,7 +49,7 @@ static inline int nanosleep_helper(
|
||||
_Thread_queue_Context_initialize( &queue_context );
|
||||
_Thread_queue_Context_set_thread_state(
|
||||
&queue_context,
|
||||
STATES_DELAYING | STATES_INTERRUPTIBLE_BY_SIGNAL
|
||||
STATES_WAITING_FOR_TIME | STATES_INTERRUPTIBLE_BY_SIGNAL
|
||||
);
|
||||
_Thread_queue_Context_set_enqueue_callout(
|
||||
&queue_context,
|
||||
|
||||
@@ -39,7 +39,7 @@ rtems_status_code rtems_task_wake_after(
|
||||
if ( ticks == 0 ) {
|
||||
_Thread_Yield( executing );
|
||||
} else {
|
||||
_Thread_Set_state( executing, STATES_DELAYING );
|
||||
_Thread_Set_state( executing, STATES_WAITING_FOR_TIME );
|
||||
_Thread_Wait_flags_set( executing, THREAD_WAIT_STATE_BLOCKED );
|
||||
_Thread_Timer_insert_relative(
|
||||
executing,
|
||||
|
||||
@@ -74,8 +74,11 @@ extern "C" {
|
||||
/** This macro corresponds to a task waiting for BSD wakeup. */
|
||||
#define STATES_WAITING_FOR_BSD_WAKEUP 0x00000100
|
||||
|
||||
/** This macro corresponds to a task which is waiting for a timeout. */
|
||||
#define STATES_DELAYING 0x00000200
|
||||
/**
|
||||
* @brief This macro corresponds to a task which is waiting for a relative or
|
||||
* absolute timeout.
|
||||
*/
|
||||
#define STATES_WAITING_FOR_TIME 0x00000200
|
||||
|
||||
/** This macro corresponds to a task waiting for a period. */
|
||||
#define STATES_WAITING_FOR_PERIOD 0x00000400
|
||||
@@ -104,9 +107,6 @@ extern "C" {
|
||||
/** This macro corresponds to a task those life is changing. */
|
||||
#define STATES_LIFE_IS_CHANGING 0x00040000
|
||||
|
||||
/** This macro corresponds to a task waiting until a specific TOD. */
|
||||
#define STATES_WAITING_FOR_TIME 0x00080000
|
||||
|
||||
/** This macro corresponds to a task being held by the debugger. */
|
||||
#define STATES_DEBUGGER 0x08000000
|
||||
|
||||
@@ -139,8 +139,7 @@ extern "C" {
|
||||
STATES_WAITING_FOR_RWLOCK )
|
||||
|
||||
/** This macro corresponds to a task waiting which is blocked. */
|
||||
#define STATES_BLOCKED ( STATES_DELAYING | \
|
||||
STATES_LOCALLY_BLOCKED | \
|
||||
#define STATES_BLOCKED ( STATES_LOCALLY_BLOCKED | \
|
||||
STATES_WAITING_FOR_TIME | \
|
||||
STATES_WAITING_FOR_PERIOD | \
|
||||
STATES_WAITING_FOR_EVENT | \
|
||||
@@ -245,21 +244,6 @@ RTEMS_INLINE_ROUTINE bool _States_Is_suspended (
|
||||
return (the_states & STATES_SUSPENDED);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function returns true if the DELAYING state is set in
|
||||
* the_states, and false otherwise.
|
||||
*
|
||||
* @param[in] the_states is the task state set to test
|
||||
*
|
||||
* @return This method returns true if the desired state condition is set.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _States_Is_delaying (
|
||||
States_Control the_states
|
||||
)
|
||||
{
|
||||
return (the_states & STATES_DELAYING);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function returns true if the WAITING_FOR_SEGMENT state is set in
|
||||
* the_states, and false otherwise.
|
||||
@@ -350,21 +334,6 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_semaphore (
|
||||
return (the_states & STATES_WAITING_FOR_SEMAPHORE);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function returns true if the WAITING_FOR_TIME state is set in
|
||||
* the_states, and false otherwise.
|
||||
*
|
||||
* @param[in] the_states is the task state set to test
|
||||
*
|
||||
* @return This method returns true if the desired state condition is set.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_time (
|
||||
States_Control the_states
|
||||
)
|
||||
{
|
||||
return (the_states & STATES_WAITING_FOR_TIME);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function returns true if the WAITING_FOR_TIME state is set in
|
||||
* the_states, and false otherwise.
|
||||
|
||||
Reference in New Issue
Block a user