diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2008-11-12 11:04:27 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2008-11-12 11:04:27 +0000 |
commit | babd4a9c621c872cc366c679e507f5a968ad1ea3 (patch) | |
tree | e901ad85ccfa09f6298c07810a03c81aa6ddd512 /winsup/cygwin/wincap.cc | |
parent | bef889658773bfdee45c061baf1624e3ae7359a2 (diff) | |
download | cygnal-babd4a9c621c872cc366c679e507f5a968ad1ea3.tar.gz cygnal-babd4a9c621c872cc366c679e507f5a968ad1ea3.tar.bz2 cygnal-babd4a9c621c872cc366c679e507f5a968ad1ea3.zip |
* 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.cc | 20 |
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)) |