sdlCondWaitTimeout function

int sdlCondWaitTimeout(
  1. Pointer<SdlCond> cond,
  2. Pointer<SdlMutex> mutex,
  3. int ms
)

Wait until a condition variable is signaled or a certain time has passed.

This function unlocks the specified mutex and waits for another thread to call SDL_CondSignal() or SDL_CondBroadcast() on the condition variable cond, or for the specified time to elapse. Once the condition variable is signaled or the time elapsed, the mutex is re-locked and the function returns.

The mutex must be locked before calling this function.

\param cond the condition variable to wait on \param mutex the mutex used to coordinate thread access \param ms the maximum time to wait, in milliseconds, or SDL_MUTEX_MAXWAIT to wait indefinitely \returns 0 if the condition variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not signaled in the allotted time, or a negative error code on failure; call SDL_GetError() for more information.

\since This function is available since SDL 2.0.0.

\sa SDL_CondBroadcast \sa SDL_CondSignal \sa SDL_CondWait \sa SDL_CreateCond \sa SDL_DestroyCond

extern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond * cond, SDL_mutex * mutex, Uint32 ms)

Implementation

int sdlCondWaitTimeout(Pointer<SdlCond> cond, Pointer<SdlMutex> mutex, int ms) {
  final sdlCondWaitTimeoutLookupFunction = libSdl2.lookupFunction<
      Int32 Function(Pointer<SdlCond> cond, Pointer<SdlMutex> mutex, Uint32 ms),
      int Function(Pointer<SdlCond> cond, Pointer<SdlMutex> mutex,
          int ms)>('SDL_CondWaitTimeout');
  return sdlCondWaitTimeoutLookupFunction(cond, mutex, ms);
}