Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5131 clevermous 1
2
>
3
>
4
>SDL_SemTryWait
5
>
6
NAME="GENERATOR"
7
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
8
">
9
REL="HOME"
10
TITLE="SDL Library Documentation"
11
HREF="index.html">
12
REL="UP"
13
TITLE="Multi-threaded Programming"
14
HREF="thread.html">
15
REL="PREVIOUS"
16
TITLE="SDL_SemWait"
17
HREF="sdlsemwait.html">
18
REL="NEXT"
19
TITLE="SDL_SemWaitTimeout"
20
HREF="sdlsemwaittimeout.html">
21
>
22
CLASS="REFENTRY"
23
BGCOLOR="#FFF8DC"
24
TEXT="#000000"
25
LINK="#0000ee"
26
VLINK="#551a8b"
27
ALINK="#ff0000"
28
>
29
CLASS="NAVHEADER"
30
>
31
WIDTH="100%"
32
BORDER="0"
33
CELLPADDING="0"
34
CELLSPACING="0"
35
>
36
>
37
COLSPAN="3"
38
ALIGN="center"
39
>SDL Library Documentation
40
>
41
>
42
>
43
WIDTH="10%"
44
ALIGN="left"
45
VALIGN="bottom"
46
>
47
HREF="sdlsemwait.html"
48
>Prev
49
>
50
>
51
WIDTH="80%"
52
ALIGN="center"
53
VALIGN="bottom"
54
>
55
>
56
WIDTH="10%"
57
ALIGN="right"
58
VALIGN="bottom"
59
>
60
HREF="sdlsemwaittimeout.html"
61
>Next
62
>
63
>
64
>
65
>
66
ALIGN="LEFT"
67
WIDTH="100%">
68
>
69
>
70
NAME="SDLSEMTRYWAIT"
71
>SDL_SemTryWait
72
>
73
>
74
CLASS="REFNAMEDIV"
75
>
76
NAME="AEN7520"
77
>
78
>
79
>Name
80
>SDL_SemTryWait -- Attempt to lock a semaphore but don't suspend the thread.
81
>
82
CLASS="REFSYNOPSISDIV"
83
>
84
NAME="AEN7523"
85
>
86
>
87
>Synopsis
88
>
89
CLASS="FUNCSYNOPSIS"
90
>
91
NAME="AEN7524"
92
>
93
>
94
>
95
>
96
CLASS="FUNCSYNOPSISINFO"
97
>#include "SDL.h"
98
#include "SDL_thread.h"
99
>
100
>
101
>
102
CLASS="FUNCDEF"
103
>int 
104
CLASS="FSFUNC"
105
>SDL_SemTryWait
106
>
107
>(SDL_sem *sem);
108
>
109
>
110
>
111
>
112
>
113
>
114
CLASS="REFSECT1"
115
>
116
NAME="AEN7530"
117
>
118
>
119
>Description
120
>
121
>
122
CLASS="FUNCTION"
123
>SDL_SemTryWait
124
> is a non-blocking varient of
125
126
HREF="sdlsemwait.html"
127
>
128
CLASS="FUNCTION"
129
>SDL_SemWait
130
>
131
>. If the value of the semaphore
132
pointed to by 
133
CLASS="PARAMETER"
134
>
135
>sem
136
>
137
> is positive it will atomically
138
decrement the semaphore value and return 0, otherwise it will return
139
140
CLASS="RETURNVALUE"
141
>SDL_MUTEX_TIMEOUT
142
> instead of suspending the thread.
143
>
144
>After 
145
CLASS="FUNCTION"
146
>SDL_SemTryWait
147
> is successful, the semaphore
148
can be released and its count atomically incremented by a successful call to
149
150
HREF="sdlsempost.html"
151
>SDL_SemPost
152
>.
153
>
154
>
155
CLASS="REFSECT1"
156
>
157
NAME="AEN7541"
158
>
159
>
160
>Return Value
161
>
162
>Returns 
163
CLASS="RETURNVALUE"
164
>0
165
> if the semaphore was successfully locked or
166
either 
167
CLASS="RETURNVALUE"
168
>SDL_MUTEX_TIMEOUT
169
> or 
170
CLASS="RETURNVALUE"
171
>-1
172
>
173
if the thread would have suspended or there was an error, respectivly.
174
>
175
>If the semaphore was not successfully locked, the semaphore will be unchanged.
176
>
177
>
178
CLASS="REFSECT1"
179
>
180
NAME="AEN7548"
181
>
182
>
183
>Examples
184
>
185
>
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);
199
>
200
>
201
>
202
CLASS="REFSECT1"
203
>
204
NAME="AEN7552"
205
>
206
>
207
>See Also
208
>
209
>
210
HREF="sdlcreatesemaphore.html"
211
>
212
CLASS="FUNCTION"
213
>SDL_CreateSemaphore
214
>
215
>,
216
217
HREF="sdldestroysemaphore.html"
218
>
219
CLASS="FUNCTION"
220
>SDL_DestroySemaphore
221
>
222
>,
223
224
HREF="sdlsemwait.html"
225
>
226
CLASS="FUNCTION"
227
>SDL_SemWait
228
>
229
>,
230
231
HREF="sdlsemwaittimeout.html"
232
>
233
CLASS="FUNCTION"
234
>SDL_SemWaitTimeout
235
>
236
>,
237
238
HREF="sdlsempost.html"
239
>
240
CLASS="FUNCTION"
241
>SDL_SemPost
242
>
243
>,
244
245
HREF="sdlsemvalue.html"
246
>
247
CLASS="FUNCTION"
248
>SDL_SemValue
249
>
250
>
251
>
252
>
253
CLASS="NAVFOOTER"
254
>
255
ALIGN="LEFT"
256
WIDTH="100%">
257
WIDTH="100%"
258
BORDER="0"
259
CELLPADDING="0"
260
CELLSPACING="0"
261
>
262
>
263
WIDTH="33%"
264
ALIGN="left"
265
VALIGN="top"
266
>
267
HREF="sdlsemwait.html"
268
>Prev
269
>
270
>
271
WIDTH="34%"
272
ALIGN="center"
273
VALIGN="top"
274
>
275
HREF="index.html"
276
>Home
277
>
278
>
279
WIDTH="33%"
280
ALIGN="right"
281
VALIGN="top"
282
>
283
HREF="sdlsemwaittimeout.html"
284
>Next
285
>
286
>
287
>
288
>
289
WIDTH="33%"
290
ALIGN="left"
291
VALIGN="top"
292
>SDL_SemWait
293
>
294
WIDTH="34%"
295
ALIGN="center"
296
VALIGN="top"
297
>
298
HREF="thread.html"
299
>Up
300
>
301
>
302
WIDTH="33%"
303
ALIGN="right"
304
VALIGN="top"
305
>SDL_SemWaitTimeout
306
>
307
>
308
>
309
>
310
>
311
>