summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/taskvariableadd.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-03 07:38:19 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-04 07:24:30 +0200
commit1d40d81b4b8dd50e4162b0b79b60d3312d2744e5 (patch)
tree9c7dc074ea705a924742d965dcd22afef579cb5b /cpukit/rtems/src/taskvariableadd.c
parentbsp/mvme5500: Use thread local variable (diff)
downloadrtems-1d40d81b4b8dd50e4162b0b79b60d3312d2744e5.tar.bz2
rtems: Remove task variables
Update #2494. Update #2555.
Diffstat (limited to 'cpukit/rtems/src/taskvariableadd.c')
-rw-r--r--cpukit/rtems/src/taskvariableadd.c97
1 files changed, 0 insertions, 97 deletions
diff --git a/cpukit/rtems/src/taskvariableadd.c b/cpukit/rtems/src/taskvariableadd.c
deleted file mode 100644
index 0fea945fba..0000000000
--- a/cpukit/rtems/src/taskvariableadd.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * @file
- *
- * @brief RTEMS Add Task Variable
- * @ingroup ClassicTasks
- */
-
-/*
- * COPYRIGHT (c) 1989-2014.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#if !defined(RTEMS_SMP)
-#include <rtems/rtems/tasks.h>
-#include <rtems/score/threadimpl.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/config.h>
-
-/*
- * We know this is deprecated and don't want a warning on every BSP built.
- */
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-rtems_status_code rtems_task_variable_add(
- rtems_id tid,
- void **ptr,
- void (*dtor)(void *)
-)
-{
- Thread_Control *the_thread;
- Objects_Locations location;
- rtems_task_variable_t *tvp, *new;
-
-#if defined( RTEMS_SMP )
- if ( rtems_configuration_is_smp_enabled() ) {
- return RTEMS_NOT_IMPLEMENTED;
- }
-#endif
-
- if ( !ptr )
- return RTEMS_INVALID_ADDRESS;
-
- the_thread = _Thread_Get (tid, &location);
- switch (location) {
-
- case OBJECTS_LOCAL:
- /*
- * Figure out if the variable is already in this task's list.
- */
- tvp = the_thread->task_variables;
- while (tvp) {
- if (tvp->ptr == ptr) {
- tvp->dtor = dtor;
- _Objects_Put( &the_thread->Object );
- return RTEMS_SUCCESSFUL;
- }
- tvp = (rtems_task_variable_t *)tvp->next;
- }
-
- /*
- * Now allocate memory for this task variable.
- */
- new = (rtems_task_variable_t *)
- _Workspace_Allocate(sizeof(rtems_task_variable_t));
- if (new == NULL) {
- _Objects_Put( &the_thread->Object );
- return RTEMS_NO_MEMORY;
- }
- new->gval = *ptr;
- new->ptr = ptr;
- new->dtor = dtor;
-
- new->next = (struct rtems_task_variable_tt *)the_thread->task_variables;
- the_thread->task_variables = new;
- _Objects_Put( &the_thread->Object );
- return RTEMS_SUCCESSFUL;
-
-#if defined(RTEMS_MULTIPROCESSING)
- case OBJECTS_REMOTE:
- _Thread_Dispatch();
- return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
-#endif
-
- case OBJECTS_ERROR:
- break;
- }
- return RTEMS_INVALID_ID;
-}
-#endif