diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-11-16 22:56:38 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-11-16 22:56:38 +0000 |
commit | aad726ebd45d0b25d62056639b0654fb74b1092e (patch) | |
tree | 5d2e1fb9a183ef0cad166dbe0c817de657e0105f /cpukit/rtems/src/taskvariabledelete.c | |
parent | Added proper nesting level for dispatch disable check. (diff) | |
download | rtems-aad726ebd45d0b25d62056639b0654fb74b1092e.tar.bz2 |
Moved task_variable pointer to basic shared part of TCB instead of
RTEMS API extension to avoid problems when the extension is freed.
Eventually the task variable switch extension should become part
of the core context switch and the Ada tcb self implemented in
terms of it.
Diffstat (limited to '')
-rw-r--r-- | cpukit/rtems/src/taskvariabledelete.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/cpukit/rtems/src/taskvariabledelete.c b/cpukit/rtems/src/taskvariabledelete.c index 551e7057a9..82fd444bd8 100644 --- a/cpukit/rtems/src/taskvariabledelete.c +++ b/cpukit/rtems/src/taskvariabledelete.c @@ -30,7 +30,6 @@ rtems_status_code rtems_task_variable_delete( { Thread_Control *the_thread; Objects_Locations location; - RTEMS_API_Control *api; rtems_task_variable_t *tvp, *prev; prev = NULL; @@ -50,12 +49,11 @@ rtems_status_code rtems_task_variable_delete( return RTEMS_INTERNAL_ERROR; case OBJECTS_LOCAL: - api = the_thread->API_Extensions[ THREAD_API_RTEMS ]; - tvp = api->task_variables; + tvp = the_thread->task_variables; while (tvp) { if (tvp->ptr == ptr) { if (prev) prev->next = tvp->next; - else api->task_variables = tvp->next; + else the_thread->task_variables = tvp->next; _Thread_Enable_dispatch(); _Workspace_Free(tvp); return RTEMS_SUCCESSFUL; |