---
name: "SDL_WaitCondition"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_WaitCondition"
---

# SDL\_WaitCondition(3)

Wait until a condition variable is signaled.

## NAME

SDL\_WaitCondition - Wait until a condition variable is signaled.

## HEADER FILE

Defined in SDL3/SDL\_mutex.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**void SDL\_WaitCondition(SDL\_Condition \*cond, SDL\_Mutex \*mutex);**

## DESCRIPTION

This function unlocks the specified **mutex** and waits for another thread to call  **SDL\_SignalCondition** () or

**SDL\_BroadcastCondition** () on the condition variable **cond** . Once the condition variable is signaled, the mutex is re-locked and the function returns.

The mutex must be locked before calling this function. Locking the mutex recursively (more than once) is not supported and leads to undefined behavior.

This function is the equivalent of calling

**SDL\_WaitConditionTimeout** () with a time length of -1.

## FUNCTION PARAMETERS

- *cond*

  the condition variable to wait on.

- *mutex*

  the mutex used to coordinate thread access.

## THREAD SAFETY

It is safe to call this function from any thread.

## AVAILABILITY

This function is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_BroadcastCondition**(3)](/SDL_BroadcastCondition/3.md), **•**(3), [**SDL\_SignalCondition**(3)](/SDL_SignalCondition/3.md), **•**(3), [**SDL\_WaitConditionTimeout**(3)](/SDL_WaitConditionTimeout/3.md)
