sdlWaitCondition function

void sdlWaitCondition(
  1. Pointer<SdlCondition> cond,
  2. Pointer<SdlMutex> mutex
)

Wait until a condition variable is signaled.

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.

\param cond the condition variable to wait on. \param mutex the mutex used to coordinate thread access.

\threadsafety It is safe to call this function from any thread.

\since This function is available since SDL 3.1.3.

\sa SDL_BroadcastCondition \sa SDL_SignalCondition \sa SDL_WaitConditionTimeout

extern SDL_DECLSPEC void SDLCALL SDL_WaitCondition(SDL_Condition *cond, SDL_Mutex *mutex)

Implementation

void sdlWaitCondition(Pointer<SdlCondition> cond, Pointer<SdlMutex> mutex) {
  final sdlWaitConditionLookupFunction = libSdl3.lookupFunction<
      Void Function(Pointer<SdlCondition> cond, Pointer<SdlMutex> mutex),
      void Function(Pointer<SdlCondition> cond,
          Pointer<SdlMutex> mutex)>('SDL_WaitCondition');
  return sdlWaitConditionLookupFunction(cond, mutex);
}