From d8a91555127ade80dfe71e2d9c823c7350eea05f Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 20 Apr 2001 21:11:25 +0000 Subject: 2001-04-20 Correo Fernando-ruiz * include/rtems/libio_.h, libc/chroot.c, libc/privateenv.c: Private environment and chroot() enhancements and fixes. Comments: + privateenv has been modified to let at chroot() to be more POSIX like Sergei Organov recommended. + A task owner lets that rtems_set_private_env() will be called twice or more times. + chroot() can be called without a previous rtems_set_private_env(); (transpanrently) + The second call of rtems_set_private_env() makes a internal chroot("/") into global imfs_root. + chroot() runs like chdir() without a previous chdir("/") with the global root. + The current directory can be in a wrong place like Linux and many other Unices. --- c/src/lib/include/rtems/libio_.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'c/src/lib/include/rtems/libio_.h') diff --git a/c/src/lib/include/rtems/libio_.h b/c/src/lib/include/rtems/libio_.h index cda8faacf5..2496eefd70 100644 --- a/c/src/lib/include/rtems/libio_.h +++ b/c/src/lib/include/rtems/libio_.h @@ -209,6 +209,7 @@ extern rtems_libio_t *rtems_libio_iop_freelist; * External structures */ typedef struct { + rtems_id task_id; rtems_filesystem_location_info_t current_directory; rtems_filesystem_location_info_t root_directory; /* Default mode for all files. */ @@ -229,6 +230,8 @@ extern rtems_user_env_t rtems_global_user_env; */ rtems_status_code rtems_libio_set_private_env(void); +rtems_status_code rtems_libio_share_private_env(rtems_id task_id) ; + /* -- cgit v1.2.3