source: rtems/doc/posix_users/cond.texi @ 1e524995

4.104.114.84.95
Last change on this file since 1e524995 was 1e524995, checked in by Joel Sherrill <joel.sherrill@…>, on 02/06/98 at 14:14:30

Updated copyrights

  • Property mode set to 100644
File size: 8.1 KB
RevLine 
[ae68ff0]1@c
[1e524995]2@c  COPYRIGHT (c) 1988-1998.
[ae68ff0]3@c  On-Line Applications Research Corporation (OAR).
4@c  All rights reserved.
5@c
[139b2e4a]6@c  $Id$
7@c
[ae68ff0]8
9@ifinfo
10@node Condition Variable Manager, Condition Variable Manager Introduction, pthread_mutex_getprioceiling, Top
11@end ifinfo
12@chapter Condition Variable Manager
13@ifinfo
14@menu
15* Condition Variable Manager Introduction::
16* Condition Variable Manager Background::
17* Condition Variable Manager Operations::
18* Condition Variable Manager Directives::
19@end menu
20@end ifinfo
21
22@ifinfo
23@node Condition Variable Manager Introduction, Condition Variable Manager Background, Condition Variable Manager, Condition Variable Manager
24@end ifinfo
25@section Introduction
26
27The condition variable manager ...
28
29The directives provided by the condition variable manager are:
30
31@itemize @bullet
32@item @code{pthread_condattr_init} -
33@item @code{pthread_condattr_destroy} -
34@item @code{pthread_condattr_setpshared} -
35@item @code{pthread_condattr_getpshared} -
36@item @code{pthread_cond_init} -
37@item @code{pthread_cond_destroy} -
38@item @code{pthread_cond_signal} -
39@item @code{pthread_cond_broadcast} -
40@item @code{pthread_cond_wait} -
41@item @code{pthread_cond_timedwait} -
42@end itemize
43
44@ifinfo
45@node Condition Variable Manager Background, Condition Variable Manager Operations, Condition Variable Manager Introduction, Condition Variable Manager
46@end ifinfo
47@section Background
48
49@ifinfo
50@node Condition Variable Manager Operations, Condition Variable Manager Directives, Condition Variable Manager Background, Condition Variable Manager
51@end ifinfo
52@section Operations
53
54@ifinfo
55@node Condition Variable Manager Directives, pthread_condattr_init, Condition Variable Manager Operations, Condition Variable Manager
56@end ifinfo
57@section Directives
58@ifinfo
59@menu
60* pthread_condattr_init::
61* pthread_condattr_destroy::
62* pthread_condattr_setpshared::
63* pthread_condattr_getpshared::
64* pthread_cond_init::
65* pthread_cond_destroy::
66* pthread_cond_signal::
67* pthread_cond_broadcast::
68* pthread_cond_wait::
69* pthread_cond_timedwait::
70@end menu
71@end ifinfo
72
73This section details the condition variable manager's directives.
74A subsection is dedicated to each of this manager's directives
75and describes the calling sequence, related constants, usage,
76and status codes.
77
78@page
79@ifinfo
80@node pthread_condattr_init, pthread_condattr_destroy, Condition Variable Manager Directives, Condition Variable Manager Directives
81@end ifinfo
82@subsection pthread_condattr_init
83
84@subheading CALLING SEQUENCE:
85
86@example
87#include <pthread.h>
88
89int pthread_condattr_init(
90  pthread_condattr_t *attr
91);
92@end example
93
94@subheading STATUS CODES:
95@table @b
96@item ENOMEM
97Insufficient memory is available to initialize the condition variable
98attributes object.
99
100@end table
101
102@subheading DESCRIPTION:
103
104@subheading NOTES:
105
106@page
107@ifinfo
108@node pthread_condattr_destroy, pthread_condattr_setpshared, pthread_condattr_init, Condition Variable Manager Directives
109@end ifinfo
110@subsection pthread_condattr_destroy
111
112@subheading CALLING SEQUENCE:
113
114@example
115#include <pthread.h>
116
117int pthread_condattr_destroy(
118  pthread_condattr_t *attr
119);
120@end example
121
122@subheading STATUS CODES:
123@table @b
124@item EINVAL
125The attribute object specified is invalid.
126
127@end table
128
129@subheading DESCRIPTION:
130
131@subheading NOTES:
132
133@page
134@ifinfo
135@node pthread_condattr_setpshared, pthread_condattr_getpshared, pthread_condattr_destroy, Condition Variable Manager Directives
136@end ifinfo
137@subsection pthread_condattr_setpshared
138
139@subheading CALLING SEQUENCE:
140
141@example
142#include <pthread.h>
143
144int pthread_condattr_setpshared(
145  pthread_condattr_t   *attr,
146  int                   pshared
147);
148@end example
149
150@subheading STATUS CODES:
151 
152@table @b
153@item EINVAL
154Invalid argument passed.
155 
156@end table
157
158@subheading DESCRIPTION:
159
160@subheading NOTES:
161
162@page
163@ifinfo
164@node pthread_condattr_getpshared, pthread_cond_init, pthread_condattr_setpshared, Condition Variable Manager Directives
165@end ifinfo
166@subsection pthread_condattr_getpshared
167
168@subheading CALLING SEQUENCE:
169
170@example
171#include <pthread.h>
172
173int pthread_condattr_getpshared(
174  const pthread_condattr_t   *attr,
175  int                        *pshared
176);
177@end example
178
179@subheading STATUS CODES:
180 
181@table @b
182@item EINVAL
183Invalid argument passed.
184 
185@end table
186
187@subheading DESCRIPTION:
188
189@subheading NOTES:
190
191
192@page
193@ifinfo
194@node pthread_cond_init, pthread_cond_destroy, pthread_condattr_getpshared, Condition Variable Manager Directives
195@end ifinfo
196@subsection pthread_cond_init
197
198@subheading CALLING SEQUENCE:
199
200@example
201#include <pthread.h>
202
203int pthread_cond_init(
204  pthread_cond_t           *cond,
205  const pthread_condattr_t *attr
206);
207@end example
208
209@subheading STATUS CODES:
210@table @b
211@item EAGAIN
212The system lacked a resource other than memory necessary to create the
213initialize the condition variable object.
214
215@item ENOMEM
216Insufficient memory is available to initialize the condition variable object.
217
218@item EBUSY
219The specified condition variable has already been initialized.
220
221@item EINVAL
222The specified attribute value is invalid.
223
224@end table
225
226@subheading DESCRIPTION:
227
228@subheading NOTES:
229
230@page
231@ifinfo
232@node pthread_cond_destroy, pthread_cond_signal, pthread_cond_init, Condition Variable Manager Directives
233@end ifinfo
234@subsection pthread_cond_destroy
235
236@subheading CALLING SEQUENCE:
237
238@example
239#include <pthread.h>
240
241int pthread_cond_destroy(
242  pthread_cond_t           *cond
243);
244@end example
245
246@subheading STATUS CODES:
247@table @b
248@item EINVAL
249The specified condition variable is invalid.
250
251@item EBUSY
252The specified condition variable is currently in use.
253
254@end table
255
256@subheading DESCRIPTION:
257
258@subheading NOTES:
259
260@page
261@ifinfo
262@node pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy, Condition Variable Manager Directives
263@end ifinfo
264@subsection pthread_cond_signal
265
266@subheading CALLING SEQUENCE:
267
268@example
269#include <pthread.h>
270
271int pthread_cond_signal(
272  pthread_cond_t           *cond
273);
274@end example
275
276@subheading STATUS CODES:
277@table @b
278@item EINVAL
279The specified condition variable is not valid.
280
281@end table
282
283@subheading DESCRIPTION:
284
285@subheading NOTES:
286
287This routine should not be invoked from a handler from an asynchronous signal
288handler or an interrupt service routine.
289
290@page
291@ifinfo
292@node pthread_cond_broadcast, pthread_cond_wait, pthread_cond_signal, Condition Variable Manager Directives
293@end ifinfo
294@subsection pthread_cond_broadcast
295
296@subheading CALLING SEQUENCE:
297
298@example
299#include <pthread.h>
300
301int pthread_cond_broadcast(
302  pthread_cond_t  *cond
303);
304@end example
305
306@subheading STATUS CODES:
307@table @b
308@item EINVAL
309The specified condition variable is not valid.
310
311@end table
312
313@subheading DESCRIPTION:
314
315@subheading NOTES:
316
317This routine should not be invoked from a handler from an asynchronous signal
318handler or an interrupt service routine.
319
320@page
321@ifinfo
322@node pthread_cond_wait, pthread_cond_timedwait, pthread_cond_broadcast, Condition Variable Manager Directives
323@end ifinfo
324@subsection pthread_cond_wait
325
326@subheading CALLING SEQUENCE:
327
328@example
329#include <pthread.h>
330
331int pthread_cond_wait(
332  pthread_cond_t           *cond,
333  pthread_mutex_t          *mutex
334);
335@end example
336
337@subheading STATUS CODES:
338@table @b
339@item EINVAL
340The specified condition variable or mutex is not initialized OR different
341mutexes were specified for concurrent pthread_cond_wait() and
342pthread_cond_timedwait() operations on the same condition variable OR
343the mutex was not owned by the current thread at the time of the call.
344
345@end table
346
347@subheading DESCRIPTION:
348
349@subheading NOTES:
350
351@page
352@ifinfo
353@node pthread_cond_timedwait, Key Manager, pthread_cond_wait, Condition Variable Manager Directives
354@end ifinfo
355@subsection pthread_cond_timedwait
356
357@subheading CALLING SEQUENCE:
358
359@example
360#include <pthread.h>
361
362int pthread_cond_timedwait(
363  pthread_cond_t        *cond,
364  pthread_mutex_t       *mutex,
365  const struct timespec *abstime
366);
367@end example
368
369@subheading STATUS CODES:
370@table @b
371@item EINVAL
372The specified condition variable or mutex is not initialized OR different
373mutexes were specified for concurrent pthread_cond_wait() and
374pthread_cond_timedwait() operations on the same condition variable OR
375the mutex was not owned by the current thread at the time of the call.
376 
377@item ETIMEDOUT
378The specified time has elapsed without the condition variable being
379satisfied.
380
381@end table
382
383@subheading DESCRIPTION:
384
385@subheading NOTES:
386
Note: See TracBrowser for help on using the repository browser.