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

The process is undergoing local debugging.

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.

Related topics: