SDL_SemWait

Name

SDL_SemWait -- Lock a semaphore and suspend the thread if the semaphore value is zero.

Synopsis

uses
SDL;

function SDL_SemWait( sem : PSDL_sem ) : Integer;

Description

SDL_SemWait() 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. If the call is successful it will atomically decrement the semaphore value.

After SDL_SemWait() is successful, the semaphore can be released and its count atomically incremented by a successful call to SDL_SemPost.

Return Value

Returns 0 if successful or -1 if there was an error (leaving the semaphore unchanged).

Examples

if ( SDL_SemWait( my_sem ) = -1) then
begin
Result := WAIT_FAILED;
end;
.
.
.
.
SDL_SemPost( my_sem );

See Also

SDL_CreateSemaphore , SDL_DestroySemaphore , SDL_SemTryWait , SDL_SemWaitTimeout , SDL_SemPost, SDL_SemValue