# OS_SleepThread

## Syntax

      #include <nitro/os.h>

      void OS_SleepThread( OSThreadQueue*  queue );

## 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.

## Description

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

The thread stays in the suspended state until the `OS_WakeupThread` function is called with this `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.

## See Also

`OS_InitThread, OS_CreateThread, OS_WakeupThread, OS_WakeupThreadDirect
OS_Sleep
`

## Revision History

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

CONFIDENTIAL