blob: 0d46bcec5992175b3e3acc5ea9e00ea7261a1d22 (
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
Returns the segment to the region.
copyrights:
- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
default:
attributes: null
body: null
params:
- ${../../type/if/id:/name} ${.:/params[0]/name}
- void *${.:/params[1]/name}
return: ${../../status/if/code:/name}
variants: []
description: |
This directive returns the segment specified by ${.:/params[1]/name} to the
region specified by ${.:/params[0]/name}. The returned segment is merged
with its neighbors to form the largest possible segment. The first task on
the wait queue is examined to determine if its segment request can now be
satisfied. If so, it is given a segment and unblocked. This process is
repeated until the first task's segment request cannot be satisfied.
enabled-by: true
index-entries:
- return segment to region
interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
- role: constraint
uid: /constraint/directive-not-pre-qualified
- role: constraint
uid: /constraint/directive-ctx-devinit
- role: constraint
uid: /constraint/directive-ctx-task
- role: constraint
uid: /constraint/unblock-may-preempt
- role: constraint
uid: /constraint/object-allocator
name: rtems_region_return_segment
notes: |
This directive will cause the calling task to be preempted if one or more
local tasks are waiting for a segment and the following conditions exist:
* A waiting task has a higher priority than the calling task.
* The size of the segment required by the waiting task is less than or equal
to the size of the segment returned.
params:
- description: |
is the region identifier.
dir: null
name: id
- description: |
is the begin address of the segment to return.
dir: null
name: segment
return:
return: null
return-values:
- description: |
The requested operation was successful.
value: ${../../status/if/successful:/name}
- description: |
There was no region associated with the identifier specified by
${.:/params[0]/name}.
value: ${../../status/if/invalid-id:/name}
- description: |
The segment was not within the region.
value: ${../../status/if/invalid-address:/name}
type: interface
|