Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2010-10-09 14:54:13 +0400
committerCorinna Vinschen <corinna@vinschen.de>2010-10-09 14:54:13 +0400
commit9c154abedb4cbf713808e2fbe625f6d80939dcc3 (patch)
tree7c35bfc394febeaa1c5e45b74ba941a290799662 /winsup/cygwin/wincap.h
parentd8c5f616ef4f210853d558d14bde281aa43b150a (diff)
* cygheap.h (cwdstuff::override_win32_cwd): Declare.
* ntdll.h (struct _PEB): Add members accessed by the fast cwd method starting with Vista. (struct _KUSER_SHARED_DATA): Define with only the DismountCount. (RtlAllocateHeap): Declare. (RtlEnterCriticalSection): Declare. (RtlFreeHeap): Declare. (RtlLeaveCriticalSection): Declare. * path.cc (get_user_proc_parms): Remove. (struct _FAST_CWD): New structure. (fast_cwd_ptr): Define. (SharedUserData): Define. (peek32): Define. (find_fast_cwd_pointers): New function to find the global pointer to the current FAST_CWD structure. (copy_cwd_str): New helper function. (cwdstuff::override_win32_cwd): New method to set the Win32 CWD. (cwdstuff::init): Just call override_win32_cwd from here when started from native Win32 parent. (cwdstuff::set): Access Win32 CWD via PEB reference instead of using get_user_proc_parms function. Memorize old DismountCount before opening directory handle. Call override_win32_cwd to set up Win32 CWD. Be more verbose in comments. * wincap.h (wincaps::has_fast_cwd): New element. * wincap.cc: Implement has_fast_cwd element throughout.
Diffstat (limited to 'winsup/cygwin/wincap.h')
-rw-r--r--winsup/cygwin/wincap.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/winsup/cygwin/wincap.h b/winsup/cygwin/wincap.h
index 315d4d51e..decfc1e50 100644
--- a/winsup/cygwin/wincap.h
+++ b/winsup/cygwin/wincap.h
@@ -50,6 +50,7 @@ struct wincaps
unsigned has_localenames : 1;
unsigned has_mwmo_inputavailable : 1;
unsigned has_buggy_thread_startup : 1;
+ unsigned has_fast_cwd : 1;
};
class wincapc
@@ -105,6 +106,7 @@ public:
bool IMPLEMENT (has_localenames)
bool IMPLEMENT (has_mwmo_inputavailable)
bool IMPLEMENT (has_buggy_thread_startup)
+ bool IMPLEMENT (has_fast_cwd)
#undef IMPLEMENT
};