Restart all threads that are waiting on the condition variable.
Defined in <SDL3/SDL_mutex.h>
void SDL_BroadcastCondition(SDL_Condition *cond);
SDL_Condition * | cond | the condition variable to signal. |
It is safe to call this function from any thread.
This function is available since SDL 3.1.3.
// BEWARE: This code example was migrated from the SDL2 Wiki, by only updating the names.
bool condition = false;
SDL_Mutex *lock;
SDL_Condition *cond;
lock = SDL_CreateMutex();
cond = SDL_CreateCondition();
Thread_A:
SDL_LockMutex(lock);while (!condition) {
SDL_WaitCondition(cond, lock);
}
SDL_UnlockMutex(lock);
Thread_B:
SDL_LockMutex(lock);while (!condition) {
SDL_WaitCondition(cond, lock);
}
SDL_UnlockMutex(lock);
Thread_C:
SDL_LockMutex(lock);/* ... */
condition = true;/* ... */
SDL_BroadcastCondition(cond);
SDL_UnlockMutex(lock);
SDL_DestroyCondition(cond); SDL_DestroyMutex(lock);