SuperCore Thread States.
More...
|
file | states.h |
| Thread Execution State Information.
|
|
file | statesimpl.h |
| Inlined Routines Associated with Thread State Information.
|
|
SuperCore Thread States.
This handler encapsulates functionality which relates to the management of the state bitmap associated with each thread.
◆ STATES_ALL_SET
#define STATES_ALL_SET 0xffffffff |
◆ STATES_BLOCKED
Value: STATES_WAITING_FOR_TIME | \
STATES_WAITING_FOR_PERIOD | \
STATES_WAITING_FOR_EVENT | \
STATES_WAITING_FOR_RPC_REPLY | \
STATES_WAITING_FOR_SYSTEM_EVENT | \
STATES_INTERRUPTIBLE_BY_SIGNAL )
#define STATES_LOCALLY_BLOCKED
Definition: statesimpl.h:122
This macro corresponds to a task waiting which is blocked.
◆ STATES_DEBUGGER
#define STATES_DEBUGGER 0x08000000 |
This macro corresponds to a task being held by the debugger.
◆ STATES_DORMANT
#define STATES_DORMANT 0x80000000 |
This macro corresponds to a task being created but not yet started.
◆ STATES_INTERRUPTIBLE_BY_SIGNAL
#define STATES_INTERRUPTIBLE_BY_SIGNAL 0x10000000 |
This macro corresponds to a task which is in an interruptible blocking state.
◆ STATES_LIFE_IS_CHANGING
#define STATES_LIFE_IS_CHANGING 0x00020000 |
This macro corresponds to a task those life is changing.
◆ STATES_LOCALLY_BLOCKED
#define STATES_LOCALLY_BLOCKED |
Value: STATES_WAITING_FOR_MESSAGE | \
STATES_WAITING_FOR_SEMAPHORE | \
STATES_WAITING_FOR_MUTEX | \
STATES_WAITING_FOR_CONDITION_VARIABLE | \
STATES_WAITING_FOR_JOIN | \
STATES_WAITING_FOR_SIGNAL | \
STATES_WAITING_FOR_BARRIER | \
STATES_WAITING_FOR_BSD_WAKEUP | \
STATES_WAITING_FOR_FUTEX | \
STATES_WAITING_FOR_RWLOCK )
#define STATES_WAITING_FOR_SEGMENT
Definition: statesimpl.h:99
This macro corresponds to a task waiting for a local object operation.
◆ STATES_READY
#define STATES_READY 0x00000000 |
This macro corresponds to a task being ready.
◆ STATES_SUSPENDED
#define STATES_SUSPENDED 0x00008000 |
This macro corresponds to a task being suspended.
◆ STATES_WAITING_FOR_BARRIER
#define STATES_WAITING_FOR_BARRIER 0x00000800 |
This macro corresponds to a task waiting for a barrier.
◆ STATES_WAITING_FOR_BSD_WAKEUP
#define STATES_WAITING_FOR_BSD_WAKEUP 0x00000080 |
This macro corresponds to a task waiting for BSD wakeup.
◆ STATES_WAITING_FOR_CONDITION_VARIABLE
#define STATES_WAITING_FOR_CONDITION_VARIABLE 0x00000020 |
This macro corresponds to a task waiting for a condition variable.
◆ STATES_WAITING_FOR_EVENT
#define STATES_WAITING_FOR_EVENT 0x00000004 |
This macro corresponds to a task waiting for an event.
◆ STATES_WAITING_FOR_FUTEX
#define STATES_WAITING_FOR_FUTEX 0x00000040 |
This macro corresponds to a task waiting for a futex.
◆ STATES_WAITING_FOR_JOIN
#define STATES_WAITING_FOR_JOIN 0x00004000 |
This macro corresponds to a task waiting for a join.
◆ STATES_WAITING_FOR_JOIN_AT_EXIT
#define STATES_WAITING_FOR_JOIN_AT_EXIT 0x00002000 |
This macro corresponds to a task waiting for a join while exiting.
◆ STATES_WAITING_FOR_MESSAGE
#define STATES_WAITING_FOR_MESSAGE 0x00000010 |
This macro corresponds to a task waiting for a message.
◆ STATES_WAITING_FOR_MUTEX
#define STATES_WAITING_FOR_MUTEX 0x00000001 |
This macro corresponds to a task waiting for a mutex.
◆ STATES_WAITING_FOR_PERIOD
#define STATES_WAITING_FOR_PERIOD 0x00000200 |
This macro corresponds to a task waiting for a period.
◆ STATES_WAITING_FOR_RPC_REPLY
#define STATES_WAITING_FOR_RPC_REPLY 0x20000000 |
This macro corresponds to a task waiting for a reply to an MPCI request.
◆ STATES_WAITING_FOR_RWLOCK
#define STATES_WAITING_FOR_RWLOCK 0x00001000 |
This macro corresponds to a task waiting for a RWLock.
◆ STATES_WAITING_FOR_SEGMENT
#define STATES_WAITING_FOR_SEGMENT 0x00010000 |
This macro corresponds to a task waiting for a fixed size segment.
◆ STATES_WAITING_FOR_SEMAPHORE
#define STATES_WAITING_FOR_SEMAPHORE 0x00000002 |
This macro corresponds to a task waiting for a semaphore.
◆ STATES_WAITING_FOR_SIGNAL
#define STATES_WAITING_FOR_SIGNAL 0x00000400 |
This macro corresponds to a task waiting for a signal.
◆ STATES_WAITING_FOR_SYSTEM_EVENT
#define STATES_WAITING_FOR_SYSTEM_EVENT 0x00000008 |
This macro corresponds to a task waiting for a system event.
◆ STATES_ZOMBIE
#define STATES_ZOMBIE 0x40000000 |
This macro corresponds to a task being a zombie.
◆ States_Control
The following type defines the control block used to manage a thread's state.
◆ _States_Clear()
Clears the states into the passed current state and returns the result.
This function clears the given states_to_clear into the current_state passed in. The result is returned to the user in current_state.
- Parameters
-
states_to_clear | The state bits to clear. |
current_state | The state set to remove them from. |
- Returns
- This method returns the updated states value.
◆ _States_Is_dormant()
Checks if DORMANT state is set.
This function returns true if the DORMANT state is set in the_states, and false otherwise.
- Parameters
-
the_states | The task state set to test. |
- Return values
-
true | DORMANT state is set in the_states. |
false | DORMANT state is not set in the_states. |
◆ _States_Is_interruptible_by_signal()
Checks if the state is set to be interruptible.
This function returns true if the task's state is set in way that allows it to be interrupted by a signal.
- Parameters
-
the_states | The task state set to test. |
- Return values
-
true | the_states is interruptible. |
false | the_states is not interruptible. |
◆ _States_Is_locally_blocked()
Checks if the state is blocked waiting on a local resource.
This function returns true if one of the states which indicates that a task is blocked waiting for a local resource is set in the_states, and false otherwise.
- Parameters
-
the_states | The task state set to test. |
- Return values
-
true | The state indicates that the task is blocked waiting on a local resource. |
false | The state indicates that the task is not blocked waiting on a local resource. |
◆ _States_Is_ready()
Checks if the state is ready.
This function returns true if the_states indicates that the state is READY, and false otherwise.
- Parameters
-
the_states | The task state set to test. |
- Return values
-
true | The state is ready. |
false | The state is not ready. |
◆ _States_Is_suspended()
Checks if SUSPENDED state is set.
This function returns true if the SUSPENDED state is set in the_states, and false otherwise.
- Parameters
-
the_states | The task state set to test. |
- Return values
-
true | SUSPENDED state is set in the_states. |
false | SUSPENDED state is not set in the_states. |
◆ _States_Is_waiting_for_join_at_exit()
Checks if WAITING_FOR_JOIN_AT_EXIT state is set.
This function returns true if the WAITING_FOR_JOIN_AT_EXIT state is set in the_states, and false otherwise.
- Parameters
-
the_states | The task state set to test. |
- Return values
-
true | WAITING_FOR_JOIN_AT_EXIT state is set in the_states. |
false | WAITING_FOR_JOIN_AT_EXIT state is not set in the_states. |
◆ _States_Is_waiting_for_rpc_reply()
Checks if WAITING_FOR_TIME state is set.
This function returns true if the WAITING_FOR_TIME state is set in the_states, and false otherwise.
- Parameters
-
the_states | The task state set to test. |
- Return values
-
true | WAITING_FOR_TIME state is set in the_states. |
false | WAITING_FOR_TIME state is not set in the_states. |
◆ _States_Set()
Returns the result of setting the states to set to the given state.
This function sets the given states_to_set into the current_state passed in. The result is returned to the user in current_state.
- Parameters
-
states_to_set | The state bits to set. |
current_state | The state set to add them to. |
- Returns
- This method returns the updated states value.