.TH "SDL_SemTryWait" "3" "Tue 11 Sep 2001, 23:00" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_SemTryWait \- Attempt to lock a semaphore but don\&'t suspend the thread\&.
.SH "SYNOPSIS"
.PP
\fB#include "SDL\&.h"
#include "SDL_thread\&.h"
.sp
\fBint \fBSDL_SemTryWait\fP\fR(\fBSDL_sem *sem\fR);
.SH "DESCRIPTION"
.PP
\fBSDL_SemTryWait\fP is a non-blocking varient of \fI\fBSDL_SemWait\fP\fR\&. If the value of the semaphore pointed to by \fBsem\fR is positive it will atomically decrement the semaphore value and return 0, otherwise it will return \fBSDL_MUTEX_TIMEOUT\fR instead of suspending the thread\&.
.PP
After \fBSDL_SemTryWait\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 the semaphore was successfully locked or either \fBSDL_MUTEX_TIMEOUT\fR or \fB-1\fR if the thread would have suspended or there was an error, respectivly\&.
.PP
If the semaphore was not successfully locked, the semaphore will be unchanged\&.
.SH "EXAMPLES"
.PP
.PP
.nf
\f(CWres = SDL_SemTryWait(my_sem);

if (res == SDL_MUTEX_TIMEOUT) {
        return TRY_AGAIN;
}
if (res == -1) {
        return WAIT_ERROR;
}

\&.\&.\&.

SDL_SemPost(my_sem);\fR
.fi
.PP
.SH "SEE ALSO"
.PP
\fI\fBSDL_CreateSemaphore\fP\fR, \fI\fBSDL_DestroySemaphore\fP\fR, \fI\fBSDL_SemWait\fP\fR, \fI\fBSDL_SemWaitTimeout\fP\fR, \fI\fBSDL_SemPost\fP\fR, \fI\fBSDL_SemValue\fP\fR
.\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:00
