Provided by: libsdl3-doc_3.2.20+ds-2_all 

NAME
SDL_CreateSemaphore - Create a semaphore.
SYNOPSIS
#include <SDL3/SDL_mutex.h>
SDL_Semaphore * SDL_CreateSemaphore(Uint32 initial_value);
DESCRIPTION
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.
FUNCTION PARAMETERS
initial_value
the starting value of the semaphore.
RETURN VALUE
Returns a new semaphore or NULL on failure; call SDL_GetError() for more information.
AVAILABILITY
This function is available since SDL 3.2.0.
SEE ALSO
SDL_DestroySemaphore(3), SDL_SignalSemaphore(3), SDL_TryWaitSemaphore(3), SDL_GetSemaphoreValue(3),
SDL_WaitSemaphore(3), SDL_WaitSemaphoreTimeout(3)
Simple Directmedia Layer SDL 3.2.20 SDL_CreateSemaphore(3)