(This is the documentation for SDL3, which is under heavy development and the API is changing! 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);

CategoryAPI, CategoryMutex