diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index cba3d76bd..40f2551e1 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,20 @@ +2007-02-23 Corinna Vinschen + + * exceptions.cc (dummy_ctrl_c_handler): Remove. + (init_console_handler): Drop has_null_console_handler_routine checks. + * fhandler_raw.cc (fhandler_dev_raw::open): Drop has_raw_devices check. + * fhandler_serial.cc (fhandler_serial::open): Drop + .supports_reading_modem_output_lines check. + * miscfuncs.cc (low_priority_sleep): Drop has_switch_to_thread check. + * shared.cc (open_shared): Drop needs_memory_protection checks. + * spawn.cc (spawn_guts): Drop start_proc_suspended check. + * uname.cc (uname): Drop has_valid_processorlevel check. + * wincap.cc: Remove has_raw_devices, has_valid_processorlevel, + supports_reading_modem_output_lines, needs_memory_protection, + has_switch_to_thread, start_proc_suspended and + has_null_console_handler_routine throughout. + * wincap.h: Ditto. + 2007-02-23 Corinna Vinschen * fhandler.cc (fhandler_base::lseek): Drop 9x considerations. diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index df5636970..512e1bef5 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -94,26 +94,17 @@ NO_COPY static struct /* Initialization code. */ -BOOL WINAPI -dummy_ctrl_c_handler (DWORD) -{ - return TRUE; -} - void init_console_handler (bool install_handler) { BOOL res; SetConsoleCtrlHandler (ctrl_c_handler, FALSE); - if (wincap.has_null_console_handler_routine ()) - SetConsoleCtrlHandler (NULL, FALSE); + SetConsoleCtrlHandler (NULL, FALSE); if (install_handler) res = SetConsoleCtrlHandler (ctrl_c_handler, TRUE); - else if (wincap.has_null_console_handler_routine ()) - res = SetConsoleCtrlHandler (NULL, TRUE); else - res = SetConsoleCtrlHandler (dummy_ctrl_c_handler, TRUE); + res = SetConsoleCtrlHandler (NULL, TRUE); if (!res) system_printf ("SetConsoleCtrlHandler failed, %E"); } diff --git a/winsup/cygwin/external.cc b/winsup/cygwin/external.cc index a958955b4..4cc539e6a 100644 --- a/winsup/cygwin/external.cc +++ b/winsup/cygwin/external.cc @@ -1,7 +1,7 @@ /* external.cc: Interface to Cygwin internals from external programs. Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, - 2006 Red Hat, Inc. + 2006, 2007 Red Hat, Inc. Written by Christopher Faylor diff --git a/winsup/cygwin/fhandler_raw.cc b/winsup/cygwin/fhandler_raw.cc index 9478ee788..13c8fa241 100644 --- a/winsup/cygwin/fhandler_raw.cc +++ b/winsup/cygwin/fhandler_raw.cc @@ -65,13 +65,6 @@ fhandler_dev_raw::fstat (struct __stat64 *buf) int fhandler_dev_raw::open (int flags, mode_t) { - if (!wincap.has_raw_devices ()) - { - set_errno (ENOENT); - debug_printf ("%s is accessible under NT/W2K only", get_win32_name ()); - return 0; - } - /* Check for illegal flags. */ if (get_major () != DEV_TAPE_MAJOR && (flags & (O_APPEND | O_EXCL))) { diff --git a/winsup/cygwin/fhandler_serial.cc b/winsup/cygwin/fhandler_serial.cc index c7a905f70..a82de0f76 100644 --- a/winsup/cygwin/fhandler_serial.cc +++ b/winsup/cygwin/fhandler_serial.cc @@ -1,6 +1,7 @@ /* fhandler_serial.cc - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc. + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, + 2006, 2007 Red Hat, Inc. This file is part of Cygwin. @@ -262,23 +263,6 @@ fhandler_serial::open (int flags, mode_t mode) system_printf ("couldn't set initial state for %s, %E", get_name ()); } - /* setting rts and dtr to known state so that ioctl() function with - request TIOCMGET could return correct value of RTS and DTR lines. - Important only for Win 9x systems */ - - if (!wincap.supports_reading_modem_output_lines ()) - { - if (EscapeCommFunction (get_handle (), SETDTR) == 0) - system_printf ("couldn't set initial state of DTR for %s, %E", get_name ()); - if (EscapeCommFunction (get_handle (), SETRTS) == 0) - system_printf ("couldn't set initial state of RTS for %s, %E", get_name ()); - - /* even though one of above functions fail I have to set rts and dtr - variables to initial value. */ - rts = TIOCM_RTS; - dtr = TIOCM_DTR; - } - SetCommMask (get_handle (), EV_RXCHAR); set_open_status (); syscall_printf ("%p = fhandler_serial::open (%s, %p, %p)", diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc index 6c91f03b8..9bab138cf 100644 --- a/winsup/cygwin/miscfuncs.cc +++ b/winsup/cygwin/miscfuncs.cc @@ -1,7 +1,7 @@ /* miscfuncs.cc: misc funcs that don't belong anywhere else Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006 Red Hat, Inc. + 2005, 2006, 2007 Red Hat, Inc. This file is part of Cygwin. @@ -246,7 +246,7 @@ low_priority_sleep (DWORD secs) staylow = true; } - if (!secs && wincap.has_switch_to_thread ()) + if (!secs) { for (int i = 0; i < 3; i++) SwitchToThread (); diff --git a/winsup/cygwin/shared.cc b/winsup/cygwin/shared.cc index 705cc16f9..a60d361fb 100644 --- a/winsup/cygwin/shared.cc +++ b/winsup/cygwin/shared.cc @@ -69,8 +69,7 @@ open_shared (const char *name, int n, HANDLE& shared_h, DWORD size, void *shared; void *addr; - if ((m == SH_JUSTCREATE || m == SH_JUSTOPEN) - || !wincap.needs_memory_protection () && offsets[0]) + if (m == SH_JUSTCREATE || m == SH_JUSTOPEN) addr = NULL; else { @@ -122,7 +121,7 @@ open_shared (const char *name, int n, HANDLE& shared_h, DWORD size, if (!shared) api_fatal ("MapViewOfFileEx '%s'(%p), %E. Terminating.", mapname, shared_h); - if (m == SH_USER_SHARED && offsets[0] && wincap.needs_memory_protection ()) + if (m == SH_USER_SHARED && offsets[0]) { ptrdiff_t delta = (caddr_t) shared - (caddr_t) off_addr (0); offsets[0] = (caddr_t) shared - (caddr_t) cygwin_hmodule; diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 11567221c..7955f3eca 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -460,8 +460,7 @@ spawn_guts (const char * prog_arg, const char *const *argv, So we have to start the child in suspend state, unfortunately, to avoid a race condition. */ if (!newargv.win16_exe - && (wincap.start_proc_suspended () || mode != _P_OVERLAY - || cygheap->fdtab.need_fixup_before ())) + && (mode != _P_OVERLAY || cygheap->fdtab.need_fixup_before ())) c_flags |= CREATE_SUSPENDED; runpath = null_app_name ? NULL : (const char *) real_path; diff --git a/winsup/cygwin/uname.cc b/winsup/cygwin/uname.cc index 3797b140d..abd77cb19 100644 --- a/winsup/cygwin/uname.cc +++ b/winsup/cygwin/uname.cc @@ -1,6 +1,7 @@ /* uname.cc - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc. + Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, + 2005, 2006, 2007 Red Hat, Inc. Written by Steve Chamberlain of Cygnus Support, sac@cygnus.com Rewritten by Geoffrey Noer of Cygnus Solutions, noer@cygnus.com @@ -72,23 +73,12 @@ uname (struct utsname *name) { case PROCESSOR_ARCHITECTURE_INTEL: unsigned int ptype; - if (wincap.has_valid_processorlevel ()) - { - if (sysinfo.wProcessorLevel < 3) /* Shouldn't happen. */ - ptype = 3; - else if (sysinfo.wProcessorLevel > 9) /* P4 */ - ptype = 6; - else - ptype = sysinfo.wProcessorLevel; - } + if (sysinfo.wProcessorLevel < 3) /* Shouldn't happen. */ + ptype = 3; + else if (sysinfo.wProcessorLevel > 9) /* P4 */ + ptype = 6; else - { - if (sysinfo.dwProcessorType == PROCESSOR_INTEL_386 || - sysinfo.dwProcessorType == PROCESSOR_INTEL_486) - ptype = sysinfo.dwProcessorType / 100; - else - ptype = PROCESSOR_INTEL_PENTIUM / 100; - } + ptype = sysinfo.wProcessorLevel; __small_sprintf (name->machine, "i%d86", ptype); break; case PROCESSOR_ARCHITECTURE_IA64: diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index abd274a79..0ebf83690 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -22,19 +22,12 @@ static NO_COPY wincaps wincap_unknown = { has_physical_mem_access:true, has_move_file_ex:true, has_unreliable_pipes:false, - has_raw_devices:true, - has_valid_processorlevel:true, has_process_io_counters:false, - supports_reading_modem_output_lines:true, - needs_memory_protection:true, pty_needs_alloc_console:true, has_terminal_services:false, - has_switch_to_thread:true, has_ioctl_storage_get_media_types_ex:false, - start_proc_suspended:false, has_extended_priority_class:false, has_guid_volumes:false, - has_null_console_handler_routine:true, has_disk_ex_ioctls:false, has_disabled_user_tos_setting:false, has_fileid_dirinfo:false, @@ -59,19 +52,12 @@ static NO_COPY wincaps wincap_nt4 = { has_physical_mem_access:true, has_move_file_ex:true, has_unreliable_pipes:false, - has_raw_devices:true, - has_valid_processorlevel:true, has_process_io_counters:false, - supports_reading_modem_output_lines:true, - needs_memory_protection:true, pty_needs_alloc_console:true, has_terminal_services:false, - has_switch_to_thread:true, has_ioctl_storage_get_media_types_ex:false, - start_proc_suspended:false, has_extended_priority_class:false, has_guid_volumes:false, - has_null_console_handler_routine:true, has_disk_ex_ioctls:false, has_disabled_user_tos_setting:false, has_fileid_dirinfo:false, @@ -96,19 +82,12 @@ static NO_COPY wincaps wincap_nt4sp4 = { has_physical_mem_access:true, has_move_file_ex:true, has_unreliable_pipes:false, - has_raw_devices:true, - has_valid_processorlevel:true, has_process_io_counters:false, - supports_reading_modem_output_lines:true, - needs_memory_protection:true, pty_needs_alloc_console:true, has_terminal_services:false, - has_switch_to_thread:true, has_ioctl_storage_get_media_types_ex:false, - start_proc_suspended:false, has_extended_priority_class:false, has_guid_volumes:false, - has_null_console_handler_routine:true, has_disk_ex_ioctls:false, has_disabled_user_tos_setting:false, has_fileid_dirinfo:false, @@ -133,19 +112,12 @@ static NO_COPY wincaps wincap_2000 = { has_physical_mem_access:true, has_move_file_ex:true, has_unreliable_pipes:false, - has_raw_devices:true, - has_valid_processorlevel:true, has_process_io_counters:true, - supports_reading_modem_output_lines:true, - needs_memory_protection:true, pty_needs_alloc_console:true, has_terminal_services:true, - has_switch_to_thread:true, has_ioctl_storage_get_media_types_ex:false, - start_proc_suspended:false, has_extended_priority_class:true, has_guid_volumes:true, - has_null_console_handler_routine:true, has_disk_ex_ioctls:false, has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, @@ -170,19 +142,12 @@ static NO_COPY wincaps wincap_xp = { has_physical_mem_access:true, has_move_file_ex:true, has_unreliable_pipes:false, - has_raw_devices:true, - has_valid_processorlevel:true, has_process_io_counters:true, - supports_reading_modem_output_lines:true, - needs_memory_protection:true, pty_needs_alloc_console:true, has_terminal_services:true, - has_switch_to_thread:true, has_ioctl_storage_get_media_types_ex:true, - start_proc_suspended:false, has_extended_priority_class:true, has_guid_volumes:true, - has_null_console_handler_routine:true, has_disk_ex_ioctls:true, has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, @@ -207,19 +172,12 @@ static NO_COPY wincaps wincap_2003 = { has_physical_mem_access:false, has_move_file_ex:true, has_unreliable_pipes:false, - has_raw_devices:true, - has_valid_processorlevel:true, has_process_io_counters:true, - supports_reading_modem_output_lines:true, - needs_memory_protection:true, pty_needs_alloc_console:true, has_terminal_services:true, - has_switch_to_thread:true, has_ioctl_storage_get_media_types_ex:true, - start_proc_suspended:false, has_extended_priority_class:true, has_guid_volumes:true, - has_null_console_handler_routine:true, has_disk_ex_ioctls:true, has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, @@ -244,19 +202,12 @@ static NO_COPY wincaps wincap_vista = { has_physical_mem_access:false, has_move_file_ex:true, has_unreliable_pipes:false, - has_raw_devices:true, - has_valid_processorlevel:true, has_process_io_counters:true, - supports_reading_modem_output_lines:true, - needs_memory_protection:true, pty_needs_alloc_console:true, has_terminal_services:true, - has_switch_to_thread:true, has_ioctl_storage_get_media_types_ex:true, - start_proc_suspended:false, has_extended_priority_class:true, has_guid_volumes:true, - has_null_console_handler_routine:true, has_disk_ex_ioctls:true, has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, diff --git a/winsup/cygwin/wincap.h b/winsup/cygwin/wincap.h index f4e64a09e..080ce420f 100644 --- a/winsup/cygwin/wincap.h +++ b/winsup/cygwin/wincap.h @@ -22,19 +22,12 @@ struct wincaps unsigned has_physical_mem_access : 1; unsigned has_move_file_ex : 1; unsigned has_unreliable_pipes : 1; - unsigned has_raw_devices : 1; - unsigned has_valid_processorlevel : 1; unsigned has_process_io_counters : 1; - unsigned supports_reading_modem_output_lines : 1; - unsigned needs_memory_protection : 1; unsigned pty_needs_alloc_console : 1; unsigned has_terminal_services : 1; - unsigned has_switch_to_thread : 1; unsigned has_ioctl_storage_get_media_types_ex : 1; - unsigned start_proc_suspended : 1; unsigned has_extended_priority_class : 1; unsigned has_guid_volumes : 1; - unsigned has_null_console_handler_routine : 1; unsigned has_disk_ex_ioctls : 1; unsigned has_disabled_user_tos_setting : 1; unsigned has_fileid_dirinfo : 1; @@ -75,19 +68,12 @@ public: bool IMPLEMENT (has_physical_mem_access) bool IMPLEMENT (has_move_file_ex) bool IMPLEMENT (has_unreliable_pipes) - bool IMPLEMENT (has_raw_devices) - bool IMPLEMENT (has_valid_processorlevel) bool IMPLEMENT (has_process_io_counters) - bool IMPLEMENT (supports_reading_modem_output_lines) - bool IMPLEMENT (needs_memory_protection) bool IMPLEMENT (pty_needs_alloc_console) bool IMPLEMENT (has_terminal_services) - bool IMPLEMENT (has_switch_to_thread) bool IMPLEMENT (has_ioctl_storage_get_media_types_ex) - bool IMPLEMENT (start_proc_suspended) bool IMPLEMENT (has_extended_priority_class) bool IMPLEMENT (has_guid_volumes) - bool IMPLEMENT (has_null_console_handler_routine) bool IMPLEMENT (has_disk_ex_ioctls) bool IMPLEMENT (has_disabled_user_tos_setting) bool IMPLEMENT (has_fileid_dirinfo)