diff options
Diffstat (limited to 'distrib/sdl-1.2.15/docs/html/sdlsemwaittimeout.html')
-rw-r--r-- | distrib/sdl-1.2.15/docs/html/sdlsemwaittimeout.html | 322 |
1 files changed, 322 insertions, 0 deletions
diff --git a/distrib/sdl-1.2.15/docs/html/sdlsemwaittimeout.html b/distrib/sdl-1.2.15/docs/html/sdlsemwaittimeout.html new file mode 100644 index 0000000..788f5b7 --- /dev/null +++ b/distrib/sdl-1.2.15/docs/html/sdlsemwaittimeout.html @@ -0,0 +1,322 @@ +<HTML +><HEAD +><TITLE +>SDL_SemWaitTimeout</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ +"><LINK +REL="HOME" +TITLE="SDL Library Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Multi-threaded Programming" +HREF="thread.html"><LINK +REL="PREVIOUS" +TITLE="SDL_SemTryWait" +HREF="sdlsemtrywait.html"><LINK +REL="NEXT" +TITLE="SDL_SemPost" +HREF="sdlsempost.html"></HEAD +><BODY +CLASS="REFENTRY" +BGCOLOR="#FFF8DC" +TEXT="#000000" +LINK="#0000ee" +VLINK="#551a8b" +ALINK="#ff0000" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="3" +ALIGN="center" +>SDL Library Documentation</TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="bottom" +><A +HREF="sdlsemtrywait.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="80%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="10%" +ALIGN="right" +VALIGN="bottom" +><A +HREF="sdlsempost.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SDLSEMWAITTIMEOUT" +></A +>SDL_SemWaitTimeout</H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN8120" +></A +><H2 +>Name</H2 +>SDL_SemWaitTimeout -- Lock a semaphore, but only wait up to a specified maximum time.</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN8123" +></A +><H2 +>Synopsis</H2 +><DIV +CLASS="FUNCSYNOPSIS" +><A +NAME="AEN8124" +></A +><P +></P +><PRE +CLASS="FUNCSYNOPSISINFO" +>#include "SDL.h" +#include "SDL_thread.h"</PRE +><P +><CODE +><CODE +CLASS="FUNCDEF" +>int <B +CLASS="FSFUNC" +>SDL_SemWaitTimeout</B +></CODE +>(SDL_sem *sem, Uint32 timeout);</CODE +></P +><P +></P +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN8130" +></A +><H2 +>Description</H2 +><P +><TT +CLASS="FUNCTION" +>SDL_SemWaitTimeout()</TT +> is a varient of +<A +HREF="sdlsemwait.html" +>SDL_SemWait</A +> +with a maximum timeout value. +If the value of the semaphore pointed to by <TT +CLASS="PARAMETER" +><I +>sem</I +></TT +> is +positive (greater than zero) it will atomically decrement the semaphore value +and return 0, otherwise it will wait up to <TT +CLASS="PARAMETER" +><I +>timeout</I +></TT +> +milliseconds trying to lock the semaphore. This function is to be avoided if +possible since on some platforms it is implemented by polling the semaphore +every millisecond in a busy loop.</P +><P +>After <TT +CLASS="FUNCTION" +>SDL_SemWaitTimeout()</TT +> is successful, the semaphore +can be released and its count atomically incremented by a successful call to +<A +HREF="sdlsempost.html" +>SDL_SemPost</A +>.</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN8140" +></A +><H2 +>Return Value</H2 +><P +>Returns <SPAN +CLASS="RETURNVALUE" +>0</SPAN +> if the semaphore was successfully locked or +either <SPAN +CLASS="RETURNVALUE" +>SDL_MUTEX_TIMEDOUT</SPAN +> or <SPAN +CLASS="RETURNVALUE" +>-1</SPAN +> +if the timeout period was exceeded or there was an error, respectivly.</P +><P +>If the semaphore was not successfully locked, the semaphore will be unchanged.</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN8147" +></A +><H2 +>Examples</H2 +><P +><PRE +CLASS="PROGRAMLISTING" +>res = SDL_SemWaitTimeout(my_sem, WAIT_TIMEOUT_MILLISEC); + +if (res == SDL_MUTEX_TIMEDOUT) { + return TRY_AGAIN; +} +if (res == -1) { + return WAIT_ERROR; +} + +... + +SDL_SemPost(my_sem);</PRE +></P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN8151" +></A +><H2 +>See Also</H2 +><P +><A +HREF="sdlcreatesemaphore.html" +><TT +CLASS="FUNCTION" +>SDL_CreateSemaphore</TT +></A +>, +<A +HREF="sdldestroysemaphore.html" +><TT +CLASS="FUNCTION" +>SDL_DestroySemaphore</TT +></A +>, +<A +HREF="sdlsemwait.html" +><TT +CLASS="FUNCTION" +>SDL_SemWait</TT +></A +>, +<A +HREF="sdlsemtrywait.html" +><TT +CLASS="FUNCTION" +>SDL_SemTryWait</TT +></A +>, +<A +HREF="sdlsempost.html" +><TT +CLASS="FUNCTION" +>SDL_SemPost</TT +></A +>, +<A +HREF="sdlsemvalue.html" +><TT +CLASS="FUNCTION" +>SDL_SemValue</TT +></A +></P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sdlsemtrywait.html" +ACCESSKEY="P" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sdlsempost.html" +ACCESSKEY="N" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SDL_SemTryWait</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="thread.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SDL_SemPost</TD +></TR +></TABLE +></DIV +></BODY +></HTML +>
\ No newline at end of file |