diff options
Diffstat (limited to 'cpukit/rtems/src/taskvariableadd.c')
-rw-r--r-- | cpukit/rtems/src/taskvariableadd.c | 97 |
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 |