diff options
author | Christopher Faylor <me@cgf.cx> | 2001-04-17 03:52:08 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-04-17 03:52:08 +0000 |
commit | 431ba7dd33c6c29bca5b1172c43d522c1fa152cf (patch) | |
tree | 6c35ba68e0ddb119924f6d89549a14f22feed658 /winsup/cygwin/cygheap.h | |
parent | 7ade56ca6aed6c0a1a7227934ea31160958306a3 (diff) | |
download | cygnal-431ba7dd33c6c29bca5b1172c43d522c1fa152cf.tar.gz cygnal-431ba7dd33c6c29bca5b1172c43d522c1fa152cf.tar.bz2 cygnal-431ba7dd33c6c29bca5b1172c43d522c1fa152cf.zip |
* path.h (cwdstuff): Move class.
* cygheap.h (cwdstuff): To here.
(init_cygheap): Add cwd field.
* child_info.h (cygheap_exec_info): Eliminate cwd stuff.
(child_info_spawn): Ditto.
* dcrt0.cc (dll_crt0_1): Remove cygcwd.fixup_after_exec call. Convert cygcwd
reference to cygheap->cwd.
* path.cc: Ditto, throughout.
(cwdstuff::copy): Eliminate.
(cwdstuff::fixup_after_exec): Ditto.
* spawn.cc (spawn_guts): Eliminate call to cygcwd.copy.
* fhandler.h (FH_OSS_DSP): Move into "fast" device category.
Diffstat (limited to 'winsup/cygwin/cygheap.h')
-rw-r--r-- | winsup/cygwin/cygheap.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/winsup/cygwin/cygheap.h b/winsup/cygwin/cygheap.h index 07d85f52a..b807612a5 100644 --- a/winsup/cygwin/cygheap.h +++ b/winsup/cygwin/cygheap.h @@ -97,6 +97,24 @@ public: } }; +/* cwd cache stuff. */ + +class muto; + +struct cwdstuff +{ + char *posix; + char *win32; + DWORD hash; + muto *lock; + char *get (char *buf, int need_posix = 1, int with_chroot = 0, unsigned ulen = MAX_PATH); + DWORD get_hash (); + void init (); + void fixup_after_exec (char *win32, char *posix, DWORD hash); + bool get_initial (); + void set (const char *win32_cwd, const char *posix_cwd = NULL); +}; + struct init_cygheap { _cmalloc_entry *chain; @@ -105,6 +123,7 @@ struct init_cygheap mode_t umask; HANDLE shared_h; HANDLE console_h; + cwdstuff cwd; }; extern init_cygheap *cygheap; |