QNX Thread Lifecycle

STATE_CONDVAR

  The thread is blocked on a condition variable (e.g., it called pthread_cond_wait()).

STATE_DEAD

  The thread has terminated and is waiting for a join by another thread.

STATE_INTR

  The thread is blocked waiting for an interrupt (i.e., it called InterruptWait()).

STATE_JOIN

  The thread is blocked waiting to join another thread(e.g., it called pthread_join()).

STATE_MUTEX

  The thread is blocked on a mutual exclusion lock (e.g., it called pthread_mutex_lock()).

STATE_NANOSLEEP

  The thread is sleeping for a short time interval (e.g., it called nanosleep()).

STATE_NET_REPLY

  The thread is waiting for a reply to be delivered across the network (i.e., it called MsgReply*()).

STATE_NET_SEND

  The thread is waiting for a pulse or signal to be delivered across the network (i.e., it called MsgSendPulse(), MsgDeliverEvent(),or SignalKill()).

STATE_READY

  The thread is waiting to be executed while the processor executesanother thread of equal or higher priority.

STATE_RECEIVE

  The thread is blocked on a message receive (e.g., it called MsgReceive()).

STATE_REPLY

  The thread is blocked on a message reply (i.e., it called MsgSend(),and the server received the message).

STATE_RUNNING

  The thread is being executed by a processor.The kernel uses an array (with one entry per processor in the system) tokeep track of the running threads.

STATE_SEM

  The thread is waiting for a semaphore to be posted (i.e., it called SyncSemWait()).

STATE_SEND

  The thread is blocked on a message send (e.g., it called MsgSend(),but the server hasn't yet received the message).

STATE_SIGSUSPEND

  The thread is blocked waiting for a signal (i.e., it called sigsuspend()).

STATE_SIGWAITINFO

  The thread is blocked waiting for a signal (i.e., it called sigwaitinfo()).

STATE_STACK

  The thread is waiting for the virtual address space tobe allocated for the thread's stack (parent will have called ThreadCreate()).

STATE_STACK

  The thread is waiting for the virtual address space tobe allocated for the thread's stack (parent will have called ThreadCreate()).

STATE_STOPPED

  The thread is blocked waiting for a SIGCONT signal.

STATE_WAITCTX

  The thread is waiting for a noninteger (e.g., floating point) context to become available for use.

STATE_WAITPAGE

  The thread is waiting for physical memory to beallocated for a virtual address.

STATE_WAITTHREAD

  The thread is waiting for a child thread to finishcreating itself (i.e., it called ThreadCreate()).

  In discussion and in the documentation, we usually omit the “STATE_” prefix.