From 373df816e7df99cc93eb4fa593361b7e73e412f7 Mon Sep 17 00:00:00 2001 From: "W. Eric Norum" Date: Thu, 27 Jan 2000 19:44:01 +0000 Subject: [PATCH] RTEMS-specific implementation of per-thread variable. --- src/libCom/osi/os/RTEMS/osdThread.h | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/libCom/osi/os/RTEMS/osdThread.h diff --git a/src/libCom/osi/os/RTEMS/osdThread.h b/src/libCom/osi/os/RTEMS/osdThread.h new file mode 100644 index 000000000..1023ccda2 --- /dev/null +++ b/src/libCom/osi/os/RTEMS/osdThread.h @@ -0,0 +1,35 @@ +#ifndef osdThreadh +#define osdThreadh + +#ifdef __cplusplus +extern "C" { +#endif + +#include "shareLib.h" + +/* + * RTEMS-specific implementation of osi thread variable routines + */ +extern void *rtemsTaskVariable; +epicsShareFunc INLINE threadVarId epicsShareAPI threadPrivateCreate () +{ + return NULL; +} +epicsShareFunc INLINE void epicsShareAPI threadPrivateDelete () +{ +} +epicsShareFunc INLINE void epicsShareAPI threadPrivateSet (threadVarId id, void *ptr) +{ + rtems_task_variable_add (RTEMS_SELF, &rtemsTaskVariable, NULL); + rtemsTaskVariable = ptr; +} +epicsShareFunc INLINE void * epicsShareAPI threadPrivateGet (threadVarId id) +{ + return rtemsTaskVariable; +} + +#ifdef __cplusplus +} +#endif + +#endif /* osdThreadh */