sdlSemWaitTimeout function

int sdlSemWaitTimeout(
  1. Pointer<SdlSem> sem,
  2. int timeout
)

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, the call is interrupted by a signal or error, 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 timeout the length of the timeout, in milliseconds \returns 0 if the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed 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_CreateSemaphore \sa SDL_DestroySemaphore \sa SDL_SemPost \sa SDL_SemTryWait \sa SDL_SemValue \sa SDL_SemWait

extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)

Implementation

int sdlSemWaitTimeout(Pointer<SdlSem> sem, int timeout) {
  final sdlSemWaitTimeoutLookupFunction = libSdl2.lookupFunction<
      Int32 Function(Pointer<SdlSem> sem, Uint32 timeout),
      int Function(Pointer<SdlSem> sem, int timeout)>('SDL_SemWaitTimeout');
  return sdlSemWaitTimeoutLookupFunction(sem, timeout);
}