sdlCreateSemaphore function
Create a semaphore.
This function creates a new semaphore and initializes it with the value
initial_value
. Each wait operation on the semaphore will atomically
decrement the semaphore value and potentially block if the semaphore value
is 0. Each post operation will atomically increment the semaphore value and
wake waiting threads and allow them to retry the wait operation.
\param initial_value the starting value of the semaphore. \returns a new semaphore or NULL on failure; call SDL_GetError() for more information.
\since This function is available since SDL 3.1.3.
\sa SDL_DestroySemaphore \sa SDL_SignalSemaphore \sa SDL_TryWaitSemaphore \sa SDL_GetSemaphoreValue \sa SDL_WaitSemaphore \sa SDL_WaitSemaphoreTimeout
extern SDL_DECLSPEC SDL_Semaphore * SDLCALL SDL_CreateSemaphore(Uint32 initial_value)
Implementation
Pointer<SdlSemaphore> sdlCreateSemaphore(int initialValue) {
final sdlCreateSemaphoreLookupFunction = libSdl3.lookupFunction<
Pointer<SdlSemaphore> Function(Uint32 initialValue),
Pointer<SdlSemaphore> Function(int initialValue)>('SDL_CreateSemaphore');
return sdlCreateSemaphoreLookupFunction(initialValue);
}