4 >SDL_SemWaitTimeout</TITLE
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
10 TITLE="SDL Library Documentation"
11 HREF="index.html"><LINK
13 TITLE="Multi-threaded Programming"
14 HREF="thread.html"><LINK
16 TITLE="SDL_SemTryWait"
17 HREF="sdlsemtrywait.html"><LINK
20 HREF="sdlsempost.html"></HEAD
31 SUMMARY="Header navigation table"
40 >SDL Library Documentation</TH
48 HREF="sdlsemtrywait.html"
62 HREF="sdlsempost.html"
73 NAME="SDLSEMWAITTIMEOUT"
75 >SDL_SemWaitTimeout</H1
83 >SDL_SemWaitTimeout -- Lock a semaphore, but only wait up to a specified maximum time.</DIV
85 CLASS="REFSYNOPSISDIV"
99 CLASS="FUNCSYNOPSISINFO"
101 #include "SDL_thread.h"</PRE
108 >SDL_SemWaitTimeout</B
110 >(SDL_sem *sem, Uint32 timeout);</CODE
126 >SDL_SemWaitTimeout()</TT
129 HREF="sdlsemwait.html"
132 with a maximum timeout value.
133 If the value of the semaphore pointed to by <TT
139 positive (greater than zero) it will atomically decrement the semaphore value
140 and return 0, otherwise it will wait up to <TT
146 milliseconds trying to lock the semaphore. This function is to be avoided if
147 possible since on some platforms it is implemented by polling the semaphore
148 every millisecond in a busy loop.</P
152 >SDL_SemWaitTimeout()</TT
153 > is successful, the semaphore
154 can be released and its count atomically incremented by a successful call to
156 HREF="sdlsempost.html"
171 > if the semaphore was successfully locked or
174 >SDL_MUTEX_TIMEDOUT</SPAN
179 if the timeout period was exceeded or there was an error, respectivly.</P
181 >If the semaphore was not successfully locked, the semaphore will be unchanged.</P
192 CLASS="PROGRAMLISTING"
193 >res = SDL_SemWaitTimeout(my_sem, WAIT_TIMEOUT_MILLISEC);
195 if (res == SDL_MUTEX_TIMEDOUT) {
204 SDL_SemPost(my_sem);</PRE
216 HREF="sdlcreatesemaphore.html"
219 >SDL_CreateSemaphore</TT
223 HREF="sdldestroysemaphore.html"
226 >SDL_DestroySemaphore</TT
230 HREF="sdlsemwait.html"
237 HREF="sdlsemtrywait.html"
244 HREF="sdlsempost.html"
251 HREF="sdlsemvalue.html"
263 SUMMARY="Footer navigation table"
274 HREF="sdlsemtrywait.html"
292 HREF="sdlsempost.html"