diff docs/man3/SDL_SemTryWait.3 @ 0:74212992fb08

Initial revision
author Sam Lantinga <slouken@lokigames.com>
date Thu, 26 Apr 2001 16:45:43 +0000
parents
children 55f1f1b3e27d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/man3/SDL_SemTryWait.3	Thu Apr 26 16:45:43 2001 +0000
@@ -0,0 +1,41 @@
+.TH "SDL_SemTryWait" "3" "Mon 12 Mar 2001, 01:04" "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, Mon 12 Mar 2001, 01:04