sdlWaitSemaphoreTimeout function

bool sdlWaitSemaphoreTimeout(
  1. Pointer<SdlSemaphore> sem,
  2. int timeoutMs
)

Wait until a semaphore has a positive value and then decrements it.

This function suspends the calling thread until either the semaphore pointed to by sem has a positive value or the specified time has elapsed. If the call is successful it will atomically decrement the semaphore value.

\param sem the semaphore to wait on. \param timeoutMS the length of the timeout, in milliseconds, or -1 to wait indefinitely. \returns true if the wait succeeds or false if the wait times out.

\since This function is available since SDL 3.1.3.

\sa SDL_SignalSemaphore \sa SDL_TryWaitSemaphore \sa SDL_WaitSemaphore

extern SDL_DECLSPEC bool SDLCALL SDL_WaitSemaphoreTimeout(SDL_Semaphore *sem, Sint32 timeoutMS)

Implementation

bool sdlWaitSemaphoreTimeout(Pointer<SdlSemaphore> sem, int timeoutMs) {
  final sdlWaitSemaphoreTimeoutLookupFunction = libSdl3.lookupFunction<
      Uint8 Function(Pointer<SdlSemaphore> sem, Int32 timeoutMs),
      int Function(Pointer<SdlSemaphore> sem,
          int timeoutMs)>('SDL_WaitSemaphoreTimeout');
  return sdlWaitSemaphoreTimeoutLookupFunction(sem, timeoutMs) == 1;
}