diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/include/rtems/confdefs.h | 17 | ||||
-rw-r--r-- | cpukit/include/rtems/libio_.h | 4 | ||||
-rw-r--r-- | cpukit/include/rtems/score/interr.h | 2 | ||||
-rw-r--r-- | cpukit/include/rtems/score/thread.h | 7 | ||||
-rw-r--r-- | cpukit/include/rtems/sysinit.h | 1 | ||||
-rw-r--r-- | cpukit/include/rtems/userenv.h | 6 |
6 files changed, 15 insertions, 22 deletions
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h index 3741c9a706..0191392cfc 100644 --- a/cpukit/include/rtems/confdefs.h +++ b/cpukit/include/rtems/confdefs.h @@ -139,11 +139,6 @@ extern "C" { #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 3 #endif -/* - * POSIX key count used by the IO library. - */ -#define _CONFIGURE_LIBIO_POSIX_KEYS 1 - #ifdef CONFIGURE_INIT rtems_libio_t rtems_libio_iops[CONFIGURE_MAXIMUM_FILE_DESCRIPTORS]; @@ -2073,14 +2068,6 @@ struct _reent *__getreent(void) (CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_TASKS)) #endif -/* - * This macro is calculated to specify the total number of - * POSIX API keys required by the application and configured - * system capabilities. - */ -#define _CONFIGURE_POSIX_KEYS \ - (CONFIGURE_MAXIMUM_POSIX_KEYS + _CONFIGURE_LIBIO_POSIX_KEYS) - /** * This configuration parameter specifies the maximum number of * POSIX API threads. @@ -2550,8 +2537,8 @@ struct _reent *__getreent(void) CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS; #endif - #if _CONFIGURE_POSIX_KEYS > 0 - POSIX_KEYS_INFORMATION_DEFINE( _CONFIGURE_POSIX_KEYS ); + #if CONFIGURE_MAXIMUM_POSIX_KEYS > 0 + POSIX_KEYS_INFORMATION_DEFINE( CONFIGURE_MAXIMUM_POSIX_KEYS ); #endif #if CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES > 0 diff --git a/cpukit/include/rtems/libio_.h b/cpukit/include/rtems/libio_.h index cf80ea8075..2473bb5e5a 100644 --- a/cpukit/include/rtems/libio_.h +++ b/cpukit/include/rtems/libio_.h @@ -336,10 +336,6 @@ void rtems_filesystem_location_free( rtems_filesystem_location_info_t *loc ); */ #include <rtems/userenv.h> -void rtems_libio_free_user_env( void *env ); - -extern pthread_key_t rtems_current_user_env_key; - void rtems_libio_lock( void ); void rtems_libio_unlock( void ); diff --git a/cpukit/include/rtems/score/interr.h b/cpukit/include/rtems/score/interr.h index e57c415eed..2f449deedb 100644 --- a/cpukit/include/rtems/score/interr.h +++ b/cpukit/include/rtems/score/interr.h @@ -197,7 +197,7 @@ typedef enum { INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT = 31, INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED = 32, INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED = 33, - INTERNAL_ERROR_LIBIO_USER_ENV_KEY_CREATE_FAILED = 34, + /* INTERNAL_ERROR_LIBIO_USER_ENV_KEY_CREATE_FAILED = 34, */ /* INTERNAL_ERROR_LIBIO_SEM_CREATE_FAILED = 35, */ INTERNAL_ERROR_LIBIO_STDOUT_FD_OPEN_FAILED = 36, INTERNAL_ERROR_LIBIO_STDERR_FD_OPEN_FAILED = 37, 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; diff --git a/cpukit/include/rtems/sysinit.h b/cpukit/include/rtems/sysinit.h index d181c42780..245da74f2c 100644 --- a/cpukit/include/rtems/sysinit.h +++ b/cpukit/include/rtems/sysinit.h @@ -68,6 +68,7 @@ extern "C" { #define RTEMS_SYSINIT_POSIX_CLEANUP 001c00 #define RTEMS_SYSINIT_IDLE_THREADS 001d00 #define RTEMS_SYSINIT_LIBIO 001e00 +#define RTEMS_SYSINIT_USER_ENVIRONMENT 001e80 #define RTEMS_SYSINIT_ROOT_FILESYSTEM 001f00 #define RTEMS_SYSINIT_DRVMGR 002000 #define RTEMS_SYSINIT_MP_SERVER 002100 diff --git a/cpukit/include/rtems/userenv.h b/cpukit/include/rtems/userenv.h index 7d6ffb05a5..2b66ee0951 100644 --- a/cpukit/include/rtems/userenv.h +++ b/cpukit/include/rtems/userenv.h @@ -53,10 +53,12 @@ extern "C" { #endif #endif +typedef struct rtems_user_env_t rtems_user_env_t; + /** * @brief User environment. */ -typedef struct { +struct rtems_user_env_t { /** * @brief The anchor directory for relative paths. */ @@ -111,7 +113,7 @@ typedef struct { * @brief The list of supplementary group IDs. */ gid_t groups[NGROUPS]; -} rtems_user_env_t; +}; extern rtems_user_env_t rtems_global_user_env; |