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;
|
DB_UINT mask;
|
||||||
};
|
};
|
||||||
const struct mapper map[] = {
|
const struct mapper map[] = {
|
||||||
{ "DELAY", STATES_DELAYING },
|
|
||||||
{ "DORM", STATES_DORMANT },
|
{ "DORM", STATES_DORMANT },
|
||||||
{ "LIFE", STATES_LIFE_IS_CHANGING },
|
{ "LIFE", STATES_LIFE_IS_CHANGING },
|
||||||
{ "SUSP", STATES_SUSPENDED },
|
{ "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)
|
#define WITH_ID(state) (STATES_THREAD_QUEUE_WITH_IDENTIFIER | state)
|
||||||
|
|
||||||
static const rtems_assoc_t rtems_monitor_state_assoc[] = {
|
static const rtems_assoc_t rtems_monitor_state_assoc[] = {
|
||||||
{ "DELAY", STATES_DELAYING, 0 },
|
|
||||||
{ "DORM", STATES_DORMANT, 0 },
|
{ "DORM", STATES_DORMANT, 0 },
|
||||||
{ "LIFE", STATES_LIFE_IS_CHANGING, 0 },
|
{ "LIFE", STATES_LIFE_IS_CHANGING, 0 },
|
||||||
{ "SUSP", STATES_SUSPENDED, 0 },
|
{ "SUSP", STATES_SUSPENDED, 0 },
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ static inline int nanosleep_helper(
|
|||||||
_Thread_queue_Context_initialize( &queue_context );
|
_Thread_queue_Context_initialize( &queue_context );
|
||||||
_Thread_queue_Context_set_thread_state(
|
_Thread_queue_Context_set_thread_state(
|
||||||
&queue_context,
|
&queue_context,
|
||||||
STATES_DELAYING | STATES_INTERRUPTIBLE_BY_SIGNAL
|
STATES_WAITING_FOR_TIME | STATES_INTERRUPTIBLE_BY_SIGNAL
|
||||||
);
|
);
|
||||||
_Thread_queue_Context_set_enqueue_callout(
|
_Thread_queue_Context_set_enqueue_callout(
|
||||||
&queue_context,
|
&queue_context,
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ rtems_status_code rtems_task_wake_after(
|
|||||||
if ( ticks == 0 ) {
|
if ( ticks == 0 ) {
|
||||||
_Thread_Yield( executing );
|
_Thread_Yield( executing );
|
||||||
} else {
|
} 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_Wait_flags_set( executing, THREAD_WAIT_STATE_BLOCKED );
|
||||||
_Thread_Timer_insert_relative(
|
_Thread_Timer_insert_relative(
|
||||||
executing,
|
executing,
|
||||||
|
|||||||
@@ -74,8 +74,11 @@ extern "C" {
|
|||||||
/** This macro corresponds to a task waiting for BSD wakeup. */
|
/** This macro corresponds to a task waiting for BSD wakeup. */
|
||||||
#define STATES_WAITING_FOR_BSD_WAKEUP 0x00000100
|
#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. */
|
/** This macro corresponds to a task waiting for a period. */
|
||||||
#define STATES_WAITING_FOR_PERIOD 0x00000400
|
#define STATES_WAITING_FOR_PERIOD 0x00000400
|
||||||
@@ -104,9 +107,6 @@ extern "C" {
|
|||||||
/** This macro corresponds to a task those life is changing. */
|
/** This macro corresponds to a task those life is changing. */
|
||||||
#define STATES_LIFE_IS_CHANGING 0x00040000
|
#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. */
|
/** This macro corresponds to a task being held by the debugger. */
|
||||||
#define STATES_DEBUGGER 0x08000000
|
#define STATES_DEBUGGER 0x08000000
|
||||||
|
|
||||||
@@ -139,8 +139,7 @@ extern "C" {
|
|||||||
STATES_WAITING_FOR_RWLOCK )
|
STATES_WAITING_FOR_RWLOCK )
|
||||||
|
|
||||||
/** This macro corresponds to a task waiting which is blocked. */
|
/** This macro corresponds to a task waiting which is blocked. */
|
||||||
#define STATES_BLOCKED ( STATES_DELAYING | \
|
#define STATES_BLOCKED ( STATES_LOCALLY_BLOCKED | \
|
||||||
STATES_LOCALLY_BLOCKED | \
|
|
||||||
STATES_WAITING_FOR_TIME | \
|
STATES_WAITING_FOR_TIME | \
|
||||||
STATES_WAITING_FOR_PERIOD | \
|
STATES_WAITING_FOR_PERIOD | \
|
||||||
STATES_WAITING_FOR_EVENT | \
|
STATES_WAITING_FOR_EVENT | \
|
||||||
@@ -245,21 +244,6 @@ RTEMS_INLINE_ROUTINE bool _States_Is_suspended (
|
|||||||
return (the_states & STATES_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
|
* This function returns true if the WAITING_FOR_SEGMENT state is set in
|
||||||
* the_states, and false otherwise.
|
* 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);
|
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
|
* This function returns true if the WAITING_FOR_TIME state is set in
|
||||||
* the_states, and false otherwise.
|
* the_states, and false otherwise.
|
||||||
|
|||||||
Reference in New Issue
Block a user