* cygheap.h (init_cygheap): New struct holding values that live in the Cygwin

heap.
* child_info.h (child_info): Change pointer type of cygheap to init_cygheap.
* cygheap.cc (init_cheap): Point cygheap_max after contents of cygheap.  Move
some stuff into cygheap.h.
* dir.cc (opendir): Change to use root and rootlen in cygheap rather than in
myself.
(mkdir): Change to use umask in cygheap rather than in myself.
* path.cc: Ditto, throughout.
* syscalls.cc (_open): Ditto.  Change to use umask in cygheap rather than in
myself.
(chroot): Change to allocate root dir on the cygwin heap.
(umask): Change to use umask in cygheap rather than in myself.
(cygwin_bind): Ditto.
* sigproc.cc (proc_subproc): Don't copy umask or root stuff as this happens
automatically now.
* pinfo.h (_pinfo): Migrate stuff out of here and into init_cheap.
* dcrt0.cc (dll_crt0_1): Call cygheap_init later in startup for first cygwin
process.
This commit is contained in:
Christopher Faylor
2000-11-14 05:53:32 +00:00
parent 70a11195b9
commit a4785603b8
12 changed files with 122 additions and 87 deletions

View File

@@ -72,7 +72,6 @@ public:
pid_t pgid; /* Process group ID */
pid_t sid; /* Session ID */
int ctty; /* Control tty */
mode_t umask;
bool has_pgid_children;/* True if we've forked or spawned children with our GID. */
char username[MAX_USER_NAME]; /* user's name */
@@ -93,11 +92,6 @@ public:
uid_t real_uid; /* Remains intact on seteuid, replaced by setuid */
gid_t real_gid; /* Ditto */
/* Filled when chroot() is called by the process or one of it's parents.
Saved without trailing backslash. */
char root[MAX_PATH+1];
size_t rootlen;
/* Resources used by process. */
long start_time;
struct rusage rusage_self;