view docs/man3/SDL_SemWait.3 @ 96:799bea5504e2

Fixed blocking open bug when using blocking audio writes
author Sam Lantinga <slouken@lokigames.com>
date Mon, 09 Jul 2001 15:46:41 +0000
parents 55f1f1b3e27d
children e5bc29de3f0a
line wrap: on
line source

.TH "SDL_SemWait" "3" "Sun 10 Jun 2001, 19:41" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_SemWait\- Lock a semaphore and suspend the thread if the semaphore value is zero\&.
.SH "SYNOPSIS"
.PP
\fB#include "SDL\&.h"
#include "SDL_thread\&.h"
.sp
\fBint \fBSDL_SemWait\fP\fR(\fBSDL_sem *sem\fR);
.SH "DESCRIPTION"
.PP
\fBSDL_SemWait()\fP suspends the calling thread until either the semaphore pointed to by \fBsem\fR 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\&.
.PP
After \fBSDL_SemWait()\fP is successful, the semaphore can be released and its count atomically incremented by a successful call to \fISDL_SemPost\fR\&.
.SH "RETURN VALUE"
.PP
Returns \fB0\fR if successful or \fB-1\fR if there was an error (leaving the semaphore unchanged)\&.
.SH "EXAMPLES"
.PP
.PP
.nf
\f(CWif (SDL_SemWait(my_sem) == -1) {
        return WAIT_FAILED;
}

\&.\&.\&.

SDL_SemPost(my_sem);\fR
.fi
.PP
.SH "SEE ALSO"
.PP
\fI\fBSDL_CreateSemaphore\fP\fR, \fI\fBSDL_DestroySemaphore\fP\fR, \fI\fBSDL_SemTryWait\fP\fR, \fI\fBSDL_SemWaitTimeout\fP\fR, \fI\fBSDL_SemPost\fP\fR, \fI\fBSDL_SemValue\fP\fR
...\" created by instant / docbook-to-man, Sun 10 Jun 2001, 19:41