Mercurial > sdl-ios-xcode
comparison docs/html/sdlsemtrywait.html @ 0:74212992fb08
Initial revision
author | Sam Lantinga <slouken@lokigames.com> |
---|---|
date | Thu, 26 Apr 2001 16:45:43 +0000 |
parents | |
children | 55f1f1b3e27d |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:74212992fb08 |
---|---|
1 <HTML | |
2 ><HEAD | |
3 ><TITLE | |
4 >SDL_SemTryWait</TITLE | |
5 ><META | |
6 NAME="GENERATOR" | |
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.61 | |
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_SemWait" | |
17 HREF="sdlsemwait.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="SDL_SemWaitTimeout" | |
20 HREF="sdlsemwaittimeout.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 | |
31 WIDTH="100%" | |
32 BORDER="0" | |
33 CELLPADDING="0" | |
34 CELLSPACING="0" | |
35 ><TR | |
36 ><TH | |
37 COLSPAN="3" | |
38 ALIGN="center" | |
39 >SDL Library Documentation</TH | |
40 ></TR | |
41 ><TR | |
42 ><TD | |
43 WIDTH="10%" | |
44 ALIGN="left" | |
45 VALIGN="bottom" | |
46 ><A | |
47 HREF="sdlsemwait.html" | |
48 >Prev</A | |
49 ></TD | |
50 ><TD | |
51 WIDTH="80%" | |
52 ALIGN="center" | |
53 VALIGN="bottom" | |
54 ></TD | |
55 ><TD | |
56 WIDTH="10%" | |
57 ALIGN="right" | |
58 VALIGN="bottom" | |
59 ><A | |
60 HREF="sdlsemwaittimeout.html" | |
61 >Next</A | |
62 ></TD | |
63 ></TR | |
64 ></TABLE | |
65 ><HR | |
66 ALIGN="LEFT" | |
67 WIDTH="100%"></DIV | |
68 ><H1 | |
69 ><A | |
70 NAME="SDLSEMTRYWAIT" | |
71 >SDL_SemTryWait</A | |
72 ></H1 | |
73 ><DIV | |
74 CLASS="REFNAMEDIV" | |
75 ><A | |
76 NAME="AEN7444" | |
77 ></A | |
78 ><H2 | |
79 >Name</H2 | |
80 >SDL_SemTryWait -- Attempt to lock a semaphore but don't suspend the thread.</DIV | |
81 ><DIV | |
82 CLASS="REFSYNOPSISDIV" | |
83 ><A | |
84 NAME="AEN7447" | |
85 ></A | |
86 ><H2 | |
87 >Synopsis</H2 | |
88 ><DIV | |
89 CLASS="FUNCSYNOPSIS" | |
90 ><A | |
91 NAME="AEN7448" | |
92 ></A | |
93 ><P | |
94 ></P | |
95 ><PRE | |
96 CLASS="FUNCSYNOPSISINFO" | |
97 >#include "SDL.h" | |
98 #include "SDL_thread.h"</PRE | |
99 ><P | |
100 ><CODE | |
101 ><CODE | |
102 CLASS="FUNCDEF" | |
103 >int <B | |
104 CLASS="FSFUNC" | |
105 >SDL_SemTryWait</B | |
106 ></CODE | |
107 >(SDL_sem *sem);</CODE | |
108 ></P | |
109 ><P | |
110 ></P | |
111 ></DIV | |
112 ></DIV | |
113 ><DIV | |
114 CLASS="REFSECT1" | |
115 ><A | |
116 NAME="AEN7454" | |
117 ></A | |
118 ><H2 | |
119 >Description</H2 | |
120 ><P | |
121 ><TT | |
122 CLASS="FUNCTION" | |
123 >SDL_SemTryWait</TT | |
124 > is a non-blocking varient of | |
125 <A | |
126 HREF="sdlsemwait.html" | |
127 ><TT | |
128 CLASS="FUNCTION" | |
129 >SDL_SemWait</TT | |
130 ></A | |
131 >. If the value of the semaphore | |
132 pointed to by <TT | |
133 CLASS="PARAMETER" | |
134 ><I | |
135 >sem</I | |
136 ></TT | |
137 > is positive it will atomically | |
138 decrement the semaphore value and return 0, otherwise it will return | |
139 <SPAN | |
140 CLASS="RETURNVALUE" | |
141 >SDL_MUTEX_TIMEOUT</SPAN | |
142 > instead of suspending the thread.</P | |
143 ><P | |
144 >After <TT | |
145 CLASS="FUNCTION" | |
146 >SDL_SemTryWait</TT | |
147 > is successful, the semaphore | |
148 can be released and its count atomically incremented by a successful call to | |
149 <A | |
150 HREF="sdlsempost.html" | |
151 >SDL_SemPost</A | |
152 >.</P | |
153 ></DIV | |
154 ><DIV | |
155 CLASS="REFSECT1" | |
156 ><A | |
157 NAME="AEN7465" | |
158 ></A | |
159 ><H2 | |
160 >Return Value</H2 | |
161 ><P | |
162 >Returns <SPAN | |
163 CLASS="RETURNVALUE" | |
164 >0</SPAN | |
165 > if the semaphore was successfully locked or | |
166 either <SPAN | |
167 CLASS="RETURNVALUE" | |
168 >SDL_MUTEX_TIMEOUT</SPAN | |
169 > or <SPAN | |
170 CLASS="RETURNVALUE" | |
171 >-1</SPAN | |
172 > | |
173 if the thread would have suspended or there was an error, respectivly.</P | |
174 ><P | |
175 >If the semaphore was not successfully locked, the semaphore will be unchanged.</P | |
176 ></DIV | |
177 ><DIV | |
178 CLASS="REFSECT1" | |
179 ><A | |
180 NAME="AEN7472" | |
181 ></A | |
182 ><H2 | |
183 >Examples</H2 | |
184 ><P | |
185 ><PRE | |
186 CLASS="PROGRAMLISTING" | |
187 >res = SDL_SemTryWait(my_sem); | |
188 | |
189 if (res == SDL_MUTEX_TIMEOUT) { | |
190 return TRY_AGAIN; | |
191 } | |
192 if (res == -1) { | |
193 return WAIT_ERROR; | |
194 } | |
195 | |
196 ... | |
197 | |
198 SDL_SemPost(my_sem);</PRE | |
199 ></P | |
200 ></DIV | |
201 ><DIV | |
202 CLASS="REFSECT1" | |
203 ><A | |
204 NAME="AEN7476" | |
205 ></A | |
206 ><H2 | |
207 >See Also</H2 | |
208 ><P | |
209 ><A | |
210 HREF="sdlcreatesemaphore.html" | |
211 ><TT | |
212 CLASS="FUNCTION" | |
213 >SDL_CreateSemaphore</TT | |
214 ></A | |
215 >, | |
216 <A | |
217 HREF="sdldestroysemaphore.html" | |
218 ><TT | |
219 CLASS="FUNCTION" | |
220 >SDL_DestroySemaphore</TT | |
221 ></A | |
222 >, | |
223 <A | |
224 HREF="sdlsemwait.html" | |
225 ><TT | |
226 CLASS="FUNCTION" | |
227 >SDL_SemWait</TT | |
228 ></A | |
229 >, | |
230 <A | |
231 HREF="sdlsemwaittimeout.html" | |
232 ><TT | |
233 CLASS="FUNCTION" | |
234 >SDL_SemWaitTimeout</TT | |
235 ></A | |
236 >, | |
237 <A | |
238 HREF="sdlsempost.html" | |
239 ><TT | |
240 CLASS="FUNCTION" | |
241 >SDL_SemPost</TT | |
242 ></A | |
243 >, | |
244 <A | |
245 HREF="sdlsemvalue.html" | |
246 ><TT | |
247 CLASS="FUNCTION" | |
248 >SDL_SemValue</TT | |
249 ></A | |
250 ></P | |
251 ></DIV | |
252 ><DIV | |
253 CLASS="NAVFOOTER" | |
254 ><HR | |
255 ALIGN="LEFT" | |
256 WIDTH="100%"><TABLE | |
257 WIDTH="100%" | |
258 BORDER="0" | |
259 CELLPADDING="0" | |
260 CELLSPACING="0" | |
261 ><TR | |
262 ><TD | |
263 WIDTH="33%" | |
264 ALIGN="left" | |
265 VALIGN="top" | |
266 ><A | |
267 HREF="sdlsemwait.html" | |
268 >Prev</A | |
269 ></TD | |
270 ><TD | |
271 WIDTH="34%" | |
272 ALIGN="center" | |
273 VALIGN="top" | |
274 ><A | |
275 HREF="index.html" | |
276 >Home</A | |
277 ></TD | |
278 ><TD | |
279 WIDTH="33%" | |
280 ALIGN="right" | |
281 VALIGN="top" | |
282 ><A | |
283 HREF="sdlsemwaittimeout.html" | |
284 >Next</A | |
285 ></TD | |
286 ></TR | |
287 ><TR | |
288 ><TD | |
289 WIDTH="33%" | |
290 ALIGN="left" | |
291 VALIGN="top" | |
292 >SDL_SemWait</TD | |
293 ><TD | |
294 WIDTH="34%" | |
295 ALIGN="center" | |
296 VALIGN="top" | |
297 ><A | |
298 HREF="thread.html" | |
299 >Up</A | |
300 ></TD | |
301 ><TD | |
302 WIDTH="33%" | |
303 ALIGN="right" | |
304 VALIGN="top" | |
305 >SDL_SemWaitTimeout</TD | |
306 ></TR | |
307 ></TABLE | |
308 ></DIV | |
309 ></BODY | |
310 ></HTML | |
311 > |