Drop NT4 support.
* autoload.cc (DnsQuery_A): Fatal if not available. (DnsRecordListFree): Ditto. (DsGetDcNameW): Ditto. (NetGetAnyDCName): Remove. (NetGetDCName): Remove. (EnumProcessModules): Fatal if not available. (GetModuleFileNameExW): Ditto. (GetModuleInformation): Ditto. (GetProcessMemoryInfo): Ditto. (QueryWorkingSet): Ditto. (LsaRegisterLogonProcess): Ditto. * fenv.cc (_feinitialise): Drop supports_sse condition. * fhandler_disk_file.cc (path_conv::isgood_inode): Fix comment. (fhandler_base::fstat_by_name): Drop has_fileid_dirinfo condition. (fhandler_disk_file::opendir): Ditto. * fhandler_netdrive.cc (fhandler_netdrive::readdir): Fix comment. * fhandler_proc.cc (format_proc_partitions): Drop NT4-only code. * fhandler_process.cc (get_process_state): Ditto. * kernel32.cc (GetWindowsDirectoryW): Remove. (GetWindowsDirectoryA): Remove. * miscfuncs.cc (nice_to_winprio): Drop NT4-only code. * mount.cc (fs_info::update): Fix comments. * net.cc (get_2k_ifs): Drop NT4-only code. * sec_auth.cc (get_logon_server): Ditto. (lsaauth): Drop NT4-specific error handling. * security.cc (alloc_sd): Set SE_DACL_PROTECTED unconditionally. * select.cc (select_stuff::wait): Always use MWMO_INPUTAVAILABLE. (peek_windows): Drop NT4-only condition in call to PeekMessage. * syscalls.cc (gethostid): Remove NT4-only workaround. * wincap.cc: Througout, drop has_dacl_protect, has_broken_if_oper_status, has_process_io_counters, has_terminal_services, has_extended_priority_class, has_guid_volumes, has_fileid_dirinfo, has_mwmo_inputavailable and supports_sse from wincaps. (wincap_nt4sp4): Remove. (wincap_minimal): Set to wincap_2000. (wincapc::init): Rely on availability of OSVERSIONINFOEX structure. Treat error from GetVersionEx as fatal. Treat NT4 as fatal. * wincap.h (struct wincaps): Drop has_dacl_protect, has_broken_if_oper_status, has_process_io_counters, has_terminal_services, has_extended_priority_class, has_guid_volumes, has_fileid_dirinfo, has_mwmo_inputavailable and supports_sse flags and methods. * winlean.h (GetWindowsDirectoryW) Define as GetSystemWindowsDirectoryW. (GetWindowsDirectoryA): Define as GetSystemWindowsDirectoryA.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/* select.cc
|
||||
|
||||
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
2005, 2006, 2007, 2008, 2009, 2010 Red Hat, Inc.
|
||||
2005, 2006, 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
|
||||
|
||||
This file is part of Cygwin.
|
||||
|
||||
@@ -290,14 +290,11 @@ select_stuff::wait (fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
|
||||
/* Using MWMO_INPUTAVAILABLE is the officially supported solution for
|
||||
the problem that the call to PeekMessage disarms the queue state
|
||||
so that a subsequent MWFMO hangs, even if there are still messages
|
||||
in the queue. Unfortunately this flag didn't exist prior to Win2K,
|
||||
so for NT4 we fall back to a different usage of PeekMessage in
|
||||
peek_windows. See there for more details. */
|
||||
in the queue. */
|
||||
wait_ret =
|
||||
MsgWaitForMultipleObjectsEx (m, w4, ms,
|
||||
QS_ALLINPUT | QS_ALLPOSTMESSAGE,
|
||||
wincap.has_mwmo_inputavailable ()
|
||||
? MWMO_INPUTAVAILABLE : 0);
|
||||
MWMO_INPUTAVAILABLE);
|
||||
|
||||
switch (wait_ret)
|
||||
{
|
||||
@@ -1542,14 +1539,7 @@ peek_windows (select_record *me, bool)
|
||||
if (me->read_selected && me->read_ready)
|
||||
return 1;
|
||||
|
||||
/* On NT4 we use a filter pattern which allows to use QS_ALLPOSTMESSAGE
|
||||
to keep the queue state as unread. Note that this only works if the
|
||||
application itself does not call PeekMessage or GetQueueState the wrong
|
||||
way. But there's no way around it. On Win2K and later we rather use
|
||||
MsgWaitForMultipleObjectsEx(MWMO_INPUTAVAILABLE). */
|
||||
if (PeekMessage (&m, (HWND) h, 0,
|
||||
wincap.has_mwmo_inputavailable () ? 0 : UINT_MAX - 1,
|
||||
PM_NOREMOVE))
|
||||
if (PeekMessage (&m, (HWND) h, 0, 0, PM_NOREMOVE))
|
||||
{
|
||||
me->read_ready = true;
|
||||
select_printf ("window %d(%p) ready", me->fd, me->fh->get_handle ());
|
||||
|
Reference in New Issue
Block a user