forked from Imagelibrary/rtems
cpukit: deprecate task variables. closes #2293.
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user