summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score/thread.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-02-14 19:09:56 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-02-25 07:18:26 +0100
commitba74ebde7461b28bf0261523d4e91e7c0e17b622 (patch)
tree0929ec50a724db8418a8d1f1b6a5d8d4c847f1dd /cpukit/include/rtems/score/thread.h
parentconfig: Add _SMP_Is_enabled (diff)
downloadrtems-ba74ebde7461b28bf0261523d4e91e7c0e17b622.tar.bz2
libio: Add POSIX user environment pointer to TCB
The IO library used a POSIX key to store an optional POSIX user environment pointer. This pulled in the POSIX keys support in every application configuration. Add a user environment pointer to the thread control block (TCB) instead. Applications which do not need the POSIX user environment will just get an overhead of one pointer per thread. Close #3882.
Diffstat (limited to 'cpukit/include/rtems/score/thread.h')
-rw-r--r--cpukit/include/rtems/score/thread.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/cpukit/include/rtems/score/thread.h b/cpukit/include/rtems/score/thread.h
index 3e2e0638f8..2e7380f99a 100644
--- a/cpukit/include/rtems/score/thread.h
+++ b/cpukit/include/rtems/score/thread.h
@@ -43,6 +43,8 @@
#include <rtems/score/processormask.h>
#endif
+struct rtems_user_env_t;
+
struct _pthread_cleanup_context;
struct Per_CPU_Control;
@@ -859,6 +861,11 @@ struct _Thread_Control {
Thread_Capture_control Capture;
/**
+ * @brief Pointer to an optional thread-specific POSIX user environment.
+ */
+ struct rtems_user_env_t *user_environment;
+
+ /**
* @brief LIFO list of POSIX cleanup contexts.
*/
struct _pthread_cleanup_context *last_cleanup_context;