====== (This is the documentation for SDL3, which is under heavy development and the API is changing! [https://wiki.libsdl.org/SDL2/ SDL2] is the current stable version!) ======
= SDL_CreateCond =
Create a condition variable.
== Syntax ==
SDL_cond* SDL_CreateCond(void);
== Return Value ==
Returns a new condition variable or NULL on failure; call
[[SDL_GetError]]() for more information.
== Version ==
This function is available since SDL 3.0.0.
== Code Examples ==
Typical use of condition variables:
SDL_bool condition = SDL_FALSE;
SDL_mutex *lock;
SDL_cond *cond;
lock = SDL_CreateMutex();
cond = SDL_CreateCond();
.
.
Thread A:
SDL_LockMutex(lock);
while (!condition) {
SDL_CondWait(cond, lock);
}
SDL_UnlockMutex(lock);
Thread B:
SDL_LockMutex(lock);
...
condition = SDL_TRUE;
...
SDL_CondSignal(cond);
SDL_UnlockMutex(lock);
.
.
SDL_DestroyCond(cond);
SDL_DestroyMutex(lock);
== Related Functions ==
:[[SDL_CondBroadcast]]
:[[SDL_CondSignal]]
:[[SDL_CondWait]]
:[[SDL_CondWaitTimeout]]
:[[SDL_DestroyCond]]
----
[[CategoryAPI]], [[CategoryMutex]]