summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-01-27 08:06:56 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-01-27 08:06:56 +0100
commit9889463c236f3445ef00a48d2e848e742860a130 (patch)
treed67245baa7fe1110781ee07cab5bfb8bfbbe1dde
parentc-user: Region directives use the allocator mutex (diff)
downloadrtems-docs-9889463c236f3445ef00a48d2e848e742860a130.tar.bz2
c-user: Clarify rtems_heap_extend()
Update #1747.
-rw-r--r--c-user/region_manager.rst20
1 files changed, 11 insertions, 9 deletions
diff --git a/c-user/region_manager.rst b/c-user/region_manager.rst
index 8b17819..70cf31d 100644
--- a/c-user/region_manager.rst
+++ b/c-user/region_manager.rst
@@ -154,12 +154,6 @@ The ``rtems_region_extend`` directive may be used to add memory to an existing
region. The caller specifies the size in bytes and starting address of the
memory being added.
-.. note::
-
- Please see the release notes or RTEMS source code for information regarding
- restrictions on the location of the memory being added in relation to memory
- already in the region.
-
Acquiring a Segment
-------------------
@@ -417,15 +411,23 @@ DIRECTIVE STATUS CODES:
- invalid address of area to add
DESCRIPTION:
- This directive adds the memory which starts at starting_address for length
- bytes to the region specified by id.
+ This directive adds the memory area which starts at
+ :c:data:`starting_address` for :c:data:`length` bytes to the region
+ specified by :c:data:`id`.
+
+ There are no alignment requirements for the memory area. The memory area
+ must be big enough to contain some maintenance blocks. It must not overlap
+ parts of the current heap memory areas. Disconnected memory areas added to
+ the heap will lead to used blocks which cover the gaps. Extending with an
+ inappropriate memory area will corrupt the heap resulting in undefined
+ behaviour.
NOTES:
This directive will obtain the allocator mutex and may cause the calling
task to be preempted.
The calling task does not have to be the task that created the region. Any
- local task that knows the region id can extend the region.
+ local task that knows the region identifier can extend the region.
.. raw:: latex