Name

SDL_CreateSemaphore — Creates a new semaphore and assigns an initial value to it.

Synopsis


#include "SDL.h"
#include "SDL_thread.h"
SDL_sem *SDL_CreateSemaphore( Uint32   initial_value);

DESCRIPTION

SDL_CreateSemaphore() creates a new semaphore and initializes it with the value initial_value. Each locking operation on the semaphore by SDL_SemWait, SDL_SemTryWait or SDL_SemWaitTimeout will atomically decrement the semaphore value. The locking operation will be blocked if the semaphore value is not positive (greater than zero). Each unlock operation by SDL_SemPost will atomically increment the semaphore value.

RETURN VALUE

Returns a pointer to an initialized semaphore or NULL if there was an error.

EXAMPLES

SDL_sem *my_sem;

my_sem = SDL_CreateSemaphore(INITIAL_SEM_VALUE);

if (my_sem == NULL) {
        return CREATE_SEM_FAILED;
}

SEE ALSO

SDL_DestroySemaphore(3), SDL_SemWait(3), SDL_SemTryWait(3), SDL_SemWaitTimeout(3), SDL_SemPost(3), SDL_SemValue(3)

COPYRIGHT

This manual page is taken from the SDL library, licensed under GNU LGPL.