About Thread Flags and Process Flags
Thread Flags
Thread Flags provide useful information about a thread's state and behavior. They are displayed as a bit mask.
| Value | Description |
|---|---|
|
0x00000001 |
Thread’s object memory is not de-allocated. |
|
0x00000002 |
Thread’s stack is not freed. |
|
0x00000004 |
Thread is terminated. |
|
0x00000008 |
Thread cannot be resumed. |
|
0x00000010 |
Interrupt service thread. |
|
0x00000020 |
Thread has used FPU/MMX/XMM. |
|
0x00000040 |
Timer service thread. |
|
0x00000080 |
Shutdown service thread. |
Process Flags
Process Flags provide useful information on a process's state and behavior. They are displayed as a bit mask.
| Value | Description |
|---|---|
|
0x00000001 |
The process is exited. |
|
0x00000002 |
The process cannot be resumed. |
|
0x00000004 |
The process is a system process. |
|
0x00000008 |
The process is under debugged. |
|
0x00000010 |
The process is under debugged, including its child processes. |
|
0x00000020 |
The process is an RTSS proxy process. |
|
0x00000040 |
The process is a performance monitor. |
|
0x00000080 |
The debugger is attaching to the process (for internal use only). |
|
0x00000100 |
The debugger has attached to the process. |
|
0x00000200 |
|
|
0x00000400 |
The process is dynamic process (for internal use only). |
|
0x00000800 |
The process is calling RTDLL attach/detach routine. |
|
0x00002000 |
An RTSS process triggered the watchdog timer (for internal use only). |
|
0x00040000 |
The process is linked to the TCP/IP Stack (for internal use only). |
|
0x00080000 |
The process is linked to the Network Link Layer (NL2) (for internal use only). |
Thread States
| State | Description | Results from... |
|---|---|---|
|
Ready to run or running |
Indicates the thread is ready to run or already running. |
Returning from RtWaitForSingleObject(Ex), RtWaitForMultipleObjects(Ex), Sleep(Ex), RtSleepFt(Ex), or by calling ResumeThread. |
|
Wait on synch object |
Indicates the thread is waiting for a synchronization object (e.g., mutex, semaphore, event) and is blocked as a result. |
Calling RtWaitForSingleObject(Ex), RtWaitForMultipleObjects(Ex), etc. |
|
Wait on internal event |
The thread is waiting for a Subsystem event, such as a timer expire, interrupt signal, or system shutdown. |
RTSS internal threads (from RtCreateTimer, RtAttachInterrupt, RtAttachShutdownHandler, etc.) waiting for an RTSS internal event. |
|
Suspended |
Indicates the thread is suspended. |
Calling SuspendThread. |
|
Sleeping |
Indicates the thread is sleeping. |
Calling Sleep(Ex) and RtSleepFt(Ex). |
|
Frozen |
The thread cannot be run. |
|