blob: 7f0542bf177e11c04027841def9906039b6182c5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
Iterates over all tasks and invokes the visitor routine for each task.
copyrights:
- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR)
definition:
default:
attributes: null
body: null
params:
- ${visitor:/name} ${.:/params[0]/name}
- void *${.:/params[1]/name}
return: void
variants: []
description: |
This directive iterates over all tasks in the system. This operation covers
all tasks of all APIs. The user should be careful in accessing the contents
of the ${/glossary/tcb:/term}. The visitor argument ${.:/params[1]/name} is
passed to all invocations of ${.:/params[0]/name} in addition to the TCB.
The iteration stops immediately in case the visitor routine returns true.
enabled-by: true
index-entries: []
interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
- role: constraint
uid: /constraint/directive-ctx-devinit
- role: constraint
uid: /constraint/directive-ctx-task
- role: constraint
uid: /constraint/object-allocator
name: rtems_task_iterate
notes: |
The visitor routine is invoked while owning the objects allocator lock. It
is allowed to perform blocking operations in the visitor routine, however,
care must be taken so that no deadlocks via the object allocator lock can
occur.
params:
- description: |
is the visitor routine invoked for each task.
dir: null
name: visitor
- description: |
is the argument passed to each visitor routine invocation during the
iteration.
dir: null
name: arg
return: null
type: interface
|