# OS_SleepThread

## C Specification

      #include <nitro/os.h>

      void OS_SleepThread( OSThreadQueue* queue );

## Description

Pauses current thread and registers it into the thread designated by `queue`

The thread stays in the paused state until `OS_WakeupThread()` is called using the `queue` argument. However, if this thread was specified with `OS_WakeupThreadDirect()`, the paused state changes to the executable state.

When `queue` is NULL, it is not registered to the thread queue. It wakes up by using `OS_WakeupThreadDirect()` in other threads.

## Arguments

`queue` | Pointer to the thread queue that registers the current thread. If NULL, it is not registered to the thread queue.

## Return Values

None

## See Also

`OS_InitThread`, `OS_CreateThread`, `OS_WakeupThread`, `OS_WakeupThreadDirect`, `OS_Sleep`

## Revision History

07/18/2004 Added the description of the situation when `queue` is NULL
12/01/2003 Initial Version