SDL_CreateSemaphore

Name

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

Synopsis

uses
SDL;

function SDL_CreateSemaphore( initial_value : UInt32 ) : PSDL_Sem;

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 nil if there was an error.

Examples

my_sem : PSDL_sem;

my_sem := SDL_CreateSemaphore( INITIAL_SEM_VALUE );

if (my_sem = nil ) then
begin
Result := CREATE_SEM_FAILED;
end;

See Also

SDL_DestroySemaphore , SDL_SemWait, SDL_SemTryWait, SDL_SemWaitTimeout, SDL_SemPost, SDL_SemValue