docs/man3/SDL_SemTryWait.3
changeset 3352 6dc250ebdd80
parent 3351 8e0182c236d8
child 3353 6b14223dd5c7
equal deleted inserted replaced
3351:8e0182c236d8 3352:6dc250ebdd80
     1 .TH "SDL_SemTryWait" "3" "Tue 11 Sep 2001, 23:00" "SDL" "SDL API Reference" 
       
     2 .SH "NAME"
       
     3 SDL_SemTryWait \- Attempt to lock a semaphore but don\&'t suspend the thread\&.
       
     4 .SH "SYNOPSIS"
       
     5 .PP
       
     6 \fB#include "SDL\&.h"
       
     7 #include "SDL_thread\&.h"
       
     8 .sp
       
     9 \fBint \fBSDL_SemTryWait\fP\fR(\fBSDL_sem *sem\fR);
       
    10 .SH "DESCRIPTION"
       
    11 .PP
       
    12 \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\&.
       
    13 .PP
       
    14 After \fBSDL_SemTryWait\fP is successful, the semaphore can be released and its count atomically incremented by a successful call to \fISDL_SemPost\fR\&.
       
    15 .SH "RETURN VALUE"
       
    16 .PP
       
    17 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\&.
       
    18 .PP
       
    19 If the semaphore was not successfully locked, the semaphore will be unchanged\&.
       
    20 .SH "EXAMPLES"
       
    21 .PP
       
    22 .PP
       
    23 .nf
       
    24 \f(CWres = SDL_SemTryWait(my_sem);
       
    25 
       
    26 if (res == SDL_MUTEX_TIMEOUT) {
       
    27         return TRY_AGAIN;
       
    28 }
       
    29 if (res == -1) {
       
    30         return WAIT_ERROR;
       
    31 }
       
    32 
       
    33 \&.\&.\&.
       
    34 
       
    35 SDL_SemPost(my_sem);\fR
       
    36 .fi
       
    37 .PP
       
    38 .SH "SEE ALSO"
       
    39 .PP
       
    40 \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
       
    41 ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:00