summaryrefslogtreecommitdiffstats
path: root/doc/user
diff options
context:
space:
mode:
authorGedare Bloom <gedare@rtems.org>2015-03-10 15:28:19 -0400
committerGedare Bloom <gedare@rtems.org>2015-03-10 15:46:59 -0400
commitcf4045630e1dd59221c67005ca1652b4350ad8eb (patch)
treec9c6e3336d043821b6bbda26b3851172a72fcf89 /doc/user
parentcpukit: deprecate rtems_clock_get(). closes #2294. (diff)
downloadrtems-cf4045630e1dd59221c67005ca1652b4350ad8eb.tar.bz2
cpukit: deprecate task variables. closes #2293.
Diffstat (limited to 'doc/user')
-rw-r--r--doc/user/task.t11
1 files changed, 11 insertions, 0 deletions
diff --git a/doc/user/task.t b/doc/user/task.t
index 5aec9b19cc..5606c4adc3 100644
--- a/doc/user/task.t
+++ b/doc/user/task.t
@@ -308,6 +308,8 @@ generally result in an exception condition.
@cindex per task variables
+Per task variables are deprecated, see the warning below.
+
Per task variables are used to support global variables whose value
may be unique to a task. After indicating that a variable should be
treated as private (i.e. per-task) the task can access and modify the
@@ -346,6 +348,9 @@ that task is the logical owner of the value in the per-task variable's
location. There is no way for a single memory image to contain the
correct value for each task executing on each core. Consequently,
per-task variables are disabled in SMP configurations of RTEMS.
+Instead the application developer should
+consider the use of POSIX Keys or Thread Local Storage (TLS). POSIX Keys
+are not enabled in all RTEMS configurations.
@subsection Building a Task Attribute Set
@@ -1787,6 +1792,8 @@ passed to the destructor function is the task's value of the variable.
@subheading NOTES:
+This directive is deprecated and task variables will be removed.
+
Task variables increase the context switch time to and from the
tasks that own them so it is desirable to minimize the number of
task variables. One efficient method
@@ -1844,6 +1851,8 @@ task, which can get its private value by directly accessing the variable.
@subheading NOTES:
+This directive is deprecated and task variables will be removed.
+
If you change memory which @code{task_variable_value} points to,
remember to declare that memory as volatile, so that the compiler
will optimize it correctly. In this case both the pointer
@@ -1895,6 +1904,8 @@ This directive removes the given location from a task's context.
@subheading NOTES:
+This directive is deprecated and task variables will be removed.
+
Per-task variables are disabled in SMP configurations and this service
is not available.