Mercurial > sdl-ios-xcode
annotate docs/html/sdlsemwait.html @ 3261:72b542f34739
The new, cleaner, version of the atomic operations. The dummy code is what you should start working with to port atomic ops.
The linux code appears to be complete and *should* be the base of all Unix and GCC based versions. The macosx and win32 versions
are currently just copies of the dummy code. I will begin working on the windows version as soon as this check in is done. I
need someone to work on the Mac OS X version.
I'm afraid that this check in will break QNX (Sorry!)
author | Bob Pendleton <bob@pendleton.com> |
---|---|
date | Thu, 17 Sep 2009 20:35:12 +0000 |
parents | 355632dca928 |
children |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >SDL_SemWait</TITLE | |
5 ><META | |
6 NAME="GENERATOR" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ |
0 | 8 "><LINK |
9 REL="HOME" | |
10 TITLE="SDL Library Documentation" | |
11 HREF="index.html"><LINK | |
12 REL="UP" | |
13 TITLE="Multi-threaded Programming" | |
14 HREF="thread.html"><LINK | |
15 REL="PREVIOUS" | |
16 TITLE="SDL_DestroySemaphore" | |
17 HREF="sdldestroysemaphore.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="SDL_SemTryWait" | |
20 HREF="sdlsemtrywait.html"></HEAD | |
21 ><BODY | |
22 CLASS="REFENTRY" | |
23 BGCOLOR="#FFF8DC" | |
24 TEXT="#000000" | |
25 LINK="#0000ee" | |
26 VLINK="#551a8b" | |
27 ALINK="#ff0000" | |
28 ><DIV | |
29 CLASS="NAVHEADER" | |
30 ><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
31 SUMMARY="Header navigation table" |
0 | 32 WIDTH="100%" |
33 BORDER="0" | |
34 CELLPADDING="0" | |
35 CELLSPACING="0" | |
36 ><TR | |
37 ><TH | |
38 COLSPAN="3" | |
39 ALIGN="center" | |
40 >SDL Library Documentation</TH | |
41 ></TR | |
42 ><TR | |
43 ><TD | |
44 WIDTH="10%" | |
45 ALIGN="left" | |
46 VALIGN="bottom" | |
47 ><A | |
48 HREF="sdldestroysemaphore.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
49 ACCESSKEY="P" |
0 | 50 >Prev</A |
51 ></TD | |
52 ><TD | |
53 WIDTH="80%" | |
54 ALIGN="center" | |
55 VALIGN="bottom" | |
56 ></TD | |
57 ><TD | |
58 WIDTH="10%" | |
59 ALIGN="right" | |
60 VALIGN="bottom" | |
61 ><A | |
62 HREF="sdlsemtrywait.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
63 ACCESSKEY="N" |
0 | 64 >Next</A |
65 ></TD | |
66 ></TR | |
67 ></TABLE | |
68 ><HR | |
69 ALIGN="LEFT" | |
70 WIDTH="100%"></DIV | |
71 ><H1 | |
72 ><A | |
73 NAME="SDLSEMWAIT" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
74 ></A |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
75 >SDL_SemWait</H1 |
0 | 76 ><DIV |
77 CLASS="REFNAMEDIV" | |
78 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
79 NAME="AEN8023" |
0 | 80 ></A |
81 ><H2 | |
82 >Name</H2 | |
83 >SDL_SemWait -- Lock a semaphore and suspend the thread if the semaphore value is zero.</DIV | |
84 ><DIV | |
85 CLASS="REFSYNOPSISDIV" | |
86 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
87 NAME="AEN8026" |
0 | 88 ></A |
89 ><H2 | |
90 >Synopsis</H2 | |
91 ><DIV | |
92 CLASS="FUNCSYNOPSIS" | |
93 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
94 NAME="AEN8027" |
0 | 95 ></A |
96 ><P | |
97 ></P | |
98 ><PRE | |
99 CLASS="FUNCSYNOPSISINFO" | |
100 >#include "SDL.h" | |
101 #include "SDL_thread.h"</PRE | |
102 ><P | |
103 ><CODE | |
104 ><CODE | |
105 CLASS="FUNCDEF" | |
106 >int <B | |
107 CLASS="FSFUNC" | |
108 >SDL_SemWait</B | |
109 ></CODE | |
110 >(SDL_sem *sem);</CODE | |
111 ></P | |
112 ><P | |
113 ></P | |
114 ></DIV | |
115 ></DIV | |
116 ><DIV | |
117 CLASS="REFSECT1" | |
118 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
119 NAME="AEN8033" |
0 | 120 ></A |
121 ><H2 | |
122 >Description</H2 | |
123 ><P | |
124 ><TT | |
125 CLASS="FUNCTION" | |
126 >SDL_SemWait()</TT | |
127 > suspends the calling thread until either | |
128 the semaphore pointed to by <TT | |
129 CLASS="PARAMETER" | |
130 ><I | |
131 >sem</I | |
132 ></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 | |
136 ><P | |
137 >After <TT | |
138 CLASS="FUNCTION" | |
139 >SDL_SemWait()</TT | |
140 > is successful, the semaphore | |
141 can be released and its count atomically incremented by a successful call to | |
142 <A | |
143 HREF="sdlsempost.html" | |
144 >SDL_SemPost</A | |
145 >.</P | |
146 ></DIV | |
147 ><DIV | |
148 CLASS="REFSECT1" | |
149 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
150 NAME="AEN8041" |
0 | 151 ></A |
152 ><H2 | |
153 >Return Value</H2 | |
154 ><P | |
155 >Returns <SPAN | |
156 CLASS="RETURNVALUE" | |
157 >0</SPAN | |
158 > if successful or | |
159 <SPAN | |
160 CLASS="RETURNVALUE" | |
161 >-1</SPAN | |
162 > if there was an error (leaving the semaphore unchanged).</P | |
163 ></DIV | |
164 ><DIV | |
165 CLASS="REFSECT1" | |
166 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
167 NAME="AEN8046" |
0 | 168 ></A |
169 ><H2 | |
170 >Examples</H2 | |
171 ><P | |
172 ><PRE | |
173 CLASS="PROGRAMLISTING" | |
174 >if (SDL_SemWait(my_sem) == -1) { | |
175 return WAIT_FAILED; | |
176 } | |
177 | |
178 ... | |
179 | |
180 SDL_SemPost(my_sem);</PRE | |
181 ></P | |
182 ></DIV | |
183 ><DIV | |
184 CLASS="REFSECT1" | |
185 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
186 NAME="AEN8050" |
0 | 187 ></A |
188 ><H2 | |
189 >See Also</H2 | |
190 ><P | |
191 ><A | |
192 HREF="sdlcreatesemaphore.html" | |
193 ><TT | |
194 CLASS="FUNCTION" | |
195 >SDL_CreateSemaphore</TT | |
196 ></A | |
197 >, | |
198 <A | |
199 HREF="sdldestroysemaphore.html" | |
200 ><TT | |
201 CLASS="FUNCTION" | |
202 >SDL_DestroySemaphore</TT | |
203 ></A | |
204 >, | |
205 <A | |
206 HREF="sdlsemtrywait.html" | |
207 ><TT | |
208 CLASS="FUNCTION" | |
209 >SDL_SemTryWait</TT | |
210 ></A | |
211 >, | |
212 <A | |
213 HREF="sdlsemwaittimeout.html" | |
214 ><TT | |
215 CLASS="FUNCTION" | |
216 >SDL_SemWaitTimeout</TT | |
217 ></A | |
218 >, | |
219 <A | |
220 HREF="sdlsempost.html" | |
221 ><TT | |
222 CLASS="FUNCTION" | |
223 >SDL_SemPost</TT | |
224 ></A | |
225 >, | |
226 <A | |
227 HREF="sdlsemvalue.html" | |
228 ><TT | |
229 CLASS="FUNCTION" | |
230 >SDL_SemValue</TT | |
231 ></A | |
232 ></P | |
233 ></DIV | |
234 ><DIV | |
235 CLASS="NAVFOOTER" | |
236 ><HR | |
237 ALIGN="LEFT" | |
238 WIDTH="100%"><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
239 SUMMARY="Footer navigation table" |
0 | 240 WIDTH="100%" |
241 BORDER="0" | |
242 CELLPADDING="0" | |
243 CELLSPACING="0" | |
244 ><TR | |
245 ><TD | |
246 WIDTH="33%" | |
247 ALIGN="left" | |
248 VALIGN="top" | |
249 ><A | |
250 HREF="sdldestroysemaphore.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
251 ACCESSKEY="P" |
0 | 252 >Prev</A |
253 ></TD | |
254 ><TD | |
255 WIDTH="34%" | |
256 ALIGN="center" | |
257 VALIGN="top" | |
258 ><A | |
259 HREF="index.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
260 ACCESSKEY="H" |
0 | 261 >Home</A |
262 ></TD | |
263 ><TD | |
264 WIDTH="33%" | |
265 ALIGN="right" | |
266 VALIGN="top" | |
267 ><A | |
268 HREF="sdlsemtrywait.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
269 ACCESSKEY="N" |
0 | 270 >Next</A |
271 ></TD | |
272 ></TR | |
273 ><TR | |
274 ><TD | |
275 WIDTH="33%" | |
276 ALIGN="left" | |
277 VALIGN="top" | |
278 >SDL_DestroySemaphore</TD | |
279 ><TD | |
280 WIDTH="34%" | |
281 ALIGN="center" | |
282 VALIGN="top" | |
283 ><A | |
284 HREF="thread.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
285 ACCESSKEY="U" |
0 | 286 >Up</A |
287 ></TD | |
288 ><TD | |
289 WIDTH="33%" | |
290 ALIGN="right" | |
291 VALIGN="top" | |
292 >SDL_SemTryWait</TD | |
293 ></TR | |
294 ></TABLE | |
295 ></DIV | |
296 ></BODY | |
297 ></HTML | |
298 > |