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
17 HREF="sdlsemwait.html"><LINK
19 TITLE="SDL_SemWaitTimeout"
20 HREF="sdlsemwaittimeout.html"></HEAD
31 SUMMARY="Header navigation table"
40 >SDL Library Documentation</TH
48 HREF="sdlsemwait.html"
62 HREF="sdlsemwaittimeout.html"
83 >SDL_SemTryWait -- Attempt to lock a semaphore but don't suspend the thread.</DIV
85 CLASS="REFSYNOPSISDIV"
99 CLASS="FUNCSYNOPSISINFO"
101 #include "SDL_thread.h"</PRE
110 >(SDL_sem *sem);</CODE
127 > is a non-blocking varient of
129 HREF="sdlsemwait.html"
134 >. If the value of the semaphore
140 > is positive it will atomically
141 decrement the semaphore value and return 0, otherwise it will return
144 >SDL_MUTEX_TIMEDOUT</SPAN
145 > instead of suspending the thread.</P
150 > is successful, the semaphore
151 can be released and its count atomically incremented by a successful call to
153 HREF="sdlsempost.html"
168 > if the semaphore was successfully locked or
171 >SDL_MUTEX_TIMEDOUT</SPAN
176 if the thread would have suspended or there was an error, respectivly.</P
178 >If the semaphore was not successfully locked, the semaphore will be unchanged.</P
189 CLASS="PROGRAMLISTING"
190 >res = SDL_SemTryWait(my_sem);
192 if (res == SDL_MUTEX_TIMEDOUT) {
201 SDL_SemPost(my_sem);</PRE
213 HREF="sdlcreatesemaphore.html"
216 >SDL_CreateSemaphore</TT
220 HREF="sdldestroysemaphore.html"
223 >SDL_DestroySemaphore</TT
227 HREF="sdlsemwait.html"
234 HREF="sdlsemwaittimeout.html"
237 >SDL_SemWaitTimeout</TT
241 HREF="sdlsempost.html"
248 HREF="sdlsemvalue.html"
260 SUMMARY="Footer navigation table"
271 HREF="sdlsemwait.html"
289 HREF="sdlsemwaittimeout.html"
313 >SDL_SemWaitTimeout</TD