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_DestroySemaphore"
17 HREF="sdldestroysemaphore.html"><LINK
19 TITLE="SDL_SemTryWait"
20 HREF="sdlsemtrywait.html"></HEAD
31 SUMMARY="Header navigation table"
40 >SDL Library Documentation</TH
48 HREF="sdldestroysemaphore.html"
62 HREF="sdlsemtrywait.html"
83 >SDL_SemWait -- Lock a semaphore and suspend the thread if the semaphore value is zero.</DIV
85 CLASS="REFSYNOPSISDIV"
99 CLASS="FUNCSYNOPSISINFO"
101 #include "SDL_thread.h"</PRE
110 >(SDL_sem *sem);</CODE
127 > suspends the calling thread until either
128 the semaphore pointed to by <TT
133 > has a positive value,
134 the call is interrupted by a signal or error. If the call is successful it
135 will atomically decrement the semaphore value.</P
140 > is successful, the semaphore
141 can be released and its count atomically incremented by a successful call to
143 HREF="sdlsempost.html"
162 > if there was an error (leaving the semaphore unchanged).</P
173 CLASS="PROGRAMLISTING"
174 >if (SDL_SemWait(my_sem) == -1) {
180 SDL_SemPost(my_sem);</PRE
192 HREF="sdlcreatesemaphore.html"
195 >SDL_CreateSemaphore</TT
199 HREF="sdldestroysemaphore.html"
202 >SDL_DestroySemaphore</TT
206 HREF="sdlsemtrywait.html"
213 HREF="sdlsemwaittimeout.html"
216 >SDL_SemWaitTimeout</TT
220 HREF="sdlsempost.html"
227 HREF="sdlsemvalue.html"
239 SUMMARY="Footer navigation table"
250 HREF="sdldestroysemaphore.html"
268 HREF="sdlsemtrywait.html"
278 >SDL_DestroySemaphore</TD