cpukit: deprecate task variables. closes #2293.

This commit is contained in:
Gedare Bloom
2015-03-10 15:28:19 -04:00
parent 23e43f6af1
commit cf4045630e
4 changed files with 26 additions and 4 deletions

View File

@@ -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.