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>2008-11-12 14:04:27 +0300
committerCorinna Vinschen <corinna@vinschen.de>2008-11-12 14:04:27 +0300
commitbabd4a9c621c872cc366c679e507f5a968ad1ea3 (patch)
treee901ad85ccfa09f6298c07810a03c81aa6ddd512 /winsup/cygwin/wincap.cc
parentbef889658773bfdee45c061baf1624e3ae7359a2 (diff)
* autoload.cc (GetSystemDEPPolicy): Define.
(GetProcessDEPPolicy): Ditto. (SetProcessDEPPolicy): Ditto. * dcrt0.cc (disable_dep): New static function. (dll_crt0_0): Call disable_dep on platforms requiring it. Add longish comment to explain the circumstances. * wincap.h (wincaps::ts_has_dep_problem): New element. * wincap.cc: Implement above element throughout. (wincapc::init): Set ts_has_dep_problem to true on 2008 Terminal Servers. * winsup.h (WINVER): Set to 0x0601.
Diffstat (limited to 'winsup/cygwin/wincap.cc')
-rw-r--r--winsup/cygwin/wincap.cc20
1 files changed, 18 insertions, 2 deletions
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index 4d20ecce3..646e3dc80 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -50,6 +50,7 @@ wincaps wincap_unknown __attribute__((section (".cygwin_dll_common"), shared)) =
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
+ ts_has_dep_problem:false,
};
wincaps wincap_nt4 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -82,6 +83,7 @@ wincaps wincap_nt4 __attribute__((section (".cygwin_dll_common"), shared)) = {
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
+ ts_has_dep_problem:false,
};
wincaps wincap_nt4sp4 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -114,6 +116,7 @@ wincaps wincap_nt4sp4 __attribute__((section (".cygwin_dll_common"), shared)) =
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
+ ts_has_dep_problem:false,
};
wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -146,6 +149,7 @@ wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = {
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
+ ts_has_dep_problem:false,
};
wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -178,6 +182,7 @@ wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) =
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
+ ts_has_dep_problem:false,
};
wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -210,6 +215,7 @@ wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = {
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
+ ts_has_dep_problem:false,
};
wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -242,6 +248,7 @@ wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = {
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
+ ts_has_dep_problem:false,
};
wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -274,6 +281,7 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
supports_all_posix_ai_flags:false,
has_restricted_stack_args:false,
has_transactions:false,
+ ts_has_dep_problem:false,
};
wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -306,6 +314,7 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
supports_all_posix_ai_flags:false,
has_restricted_stack_args:true,
has_transactions:false,
+ ts_has_dep_problem:false,
};
wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
@@ -338,6 +347,7 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
supports_all_posix_ai_flags:true,
has_restricted_stack_args:false,
has_transactions:true,
+ ts_has_dep_problem:false,
};
wincapc wincap __attribute__((section (".cygwin_dll_common"), shared));
@@ -419,8 +429,14 @@ wincapc::init ()
}
if (has_osversioninfoex && version.wProductType != VER_NT_WORKSTATION)
- ((wincaps *)caps)->is_server = true;
-
+ {
+ ((wincaps *)caps)->is_server = true;
+ if (version.dwMajorVersion >= 6
+ && (version.wSuiteMask
+ & (VER_SUITE_TERMINAL | VER_SUITE_SINGLEUSERTS))
+ == VER_SUITE_TERMINAL)
+ ((wincaps *)caps)->ts_has_dep_problem = true;
+ }
if (NT_SUCCESS (NtQueryInformationProcess (GetCurrentProcess (),
ProcessWow64Information,
&wow64, sizeof wow64, NULL))