diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2002-07-23 18:47:17 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2002-07-23 18:47:17 +0400 |
commit | 010bb8a4a1548252fc0c72943441a2252bc7aca9 (patch) | |
tree | 2f62375d2e6224590e4225e04171275ea8a6d336 /winsup/cygwin | |
parent | fdb93cd2e184eb770d373cde1ea2463bd28b1771 (diff) |
* fhandler_serial.cc: Use must_init_serial_line capability throughout.
* wincap.cc: Set flag must_init_serial_line appropriately.
* wincap.h: Add flag must_init_serial_line.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_serial.cc | 4 | ||||
-rw-r--r-- | winsup/cygwin/wincap.cc | 11 | ||||
-rw-r--r-- | winsup/cygwin/wincap.h | 2 |
4 files changed, 21 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 4a9e66c6e..40bbf682c 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,11 @@ 2002-07-23 Corinna Vinschen <corinna@vinschen.de> + * fhandler_serial.cc: Use must_init_serial_line capability throughout. + * wincap.cc: Set flag must_init_serial_line appropriately. + * wincap.h: Add flag must_init_serial_line. + +2002-07-23 Corinna Vinschen <corinna@vinschen.de> + * security.cc (get_group_sidlist): Create group list from /etc files even if DC is available but access fails. diff --git a/winsup/cygwin/fhandler_serial.cc b/winsup/cygwin/fhandler_serial.cc index 0b6464178..67e11908f 100644 --- a/winsup/cygwin/fhandler_serial.cc +++ b/winsup/cygwin/fhandler_serial.cc @@ -272,7 +272,7 @@ fhandler_serial::open (path_conv *, int flags, mode_t mode) request TIOCMGET could return correct value of RTS and DTR lines. Important only for Win 9x systems */ - if (!wincap.is_winnt ()) + if (wincap.must_init_serial_line ()) { if (EscapeCommFunction (get_handle (), SETDTR) == 0) system_printf ("couldn't set initial state of DTR for %s, %E", get_name ()); @@ -409,7 +409,7 @@ fhandler_serial::ioctl (unsigned int cmd, void *buffer) modemStatus |= TIOCM_RI; if (modemLines & MS_RLSD_ON) modemStatus |= TIOCM_CD; - if (!wincap.is_winnt ()) + if (wincap.must_init_serial_line ()) modemStatus |= rts | dtr; else { diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index 29e33b626..69333375d 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -46,6 +46,7 @@ static NO_COPY wincaps wincap_unknown = { has_valid_processorlevel:false, has_64bit_file_access:false, has_process_io_counters:false, + must_init_serial_line:true, }; static NO_COPY wincaps wincap_95 = { @@ -83,6 +84,7 @@ static NO_COPY wincaps wincap_95 = { has_valid_processorlevel:false, has_64bit_file_access:false, has_process_io_counters:false, + must_init_serial_line:true, }; static NO_COPY wincaps wincap_95osr2 = { @@ -120,6 +122,7 @@ static NO_COPY wincaps wincap_95osr2 = { has_valid_processorlevel:false, has_64bit_file_access:false, has_process_io_counters:false, + must_init_serial_line:true, }; static NO_COPY wincaps wincap_98 = { @@ -157,6 +160,7 @@ static NO_COPY wincaps wincap_98 = { has_valid_processorlevel:true, has_64bit_file_access:false, has_process_io_counters:false, + must_init_serial_line:true, }; static NO_COPY wincaps wincap_98se = { @@ -194,6 +198,7 @@ static NO_COPY wincaps wincap_98se = { has_valid_processorlevel:true, has_64bit_file_access:false, has_process_io_counters:false, + must_init_serial_line:true, }; static NO_COPY wincaps wincap_me = { @@ -231,6 +236,7 @@ static NO_COPY wincaps wincap_me = { has_valid_processorlevel:true, has_64bit_file_access:false, has_process_io_counters:false, + must_init_serial_line:true, }; static NO_COPY wincaps wincap_nt3 = { @@ -268,6 +274,7 @@ static NO_COPY wincaps wincap_nt3 = { has_valid_processorlevel:true, has_64bit_file_access:true, has_process_io_counters:false, + must_init_serial_line:false, }; static NO_COPY wincaps wincap_nt4 = { @@ -305,6 +312,7 @@ static NO_COPY wincaps wincap_nt4 = { has_valid_processorlevel:true, has_64bit_file_access:true, has_process_io_counters:false, + must_init_serial_line:false, }; static NO_COPY wincaps wincap_nt4sp4 = { @@ -342,6 +350,7 @@ static NO_COPY wincaps wincap_nt4sp4 = { has_valid_processorlevel:true, has_64bit_file_access:true, has_process_io_counters:false, + must_init_serial_line:false, }; static NO_COPY wincaps wincap_2000 = { @@ -379,6 +388,7 @@ static NO_COPY wincaps wincap_2000 = { has_valid_processorlevel:true, has_64bit_file_access:true, has_process_io_counters:true, + must_init_serial_line:false, }; static NO_COPY wincaps wincap_xp = { @@ -416,6 +426,7 @@ static NO_COPY wincaps wincap_xp = { has_valid_processorlevel:true, has_64bit_file_access:true, has_process_io_counters:true, + must_init_serial_line:false, }; wincapc wincap; diff --git a/winsup/cygwin/wincap.h b/winsup/cygwin/wincap.h index 5820124b7..c2a4af872 100644 --- a/winsup/cygwin/wincap.h +++ b/winsup/cygwin/wincap.h @@ -47,6 +47,7 @@ struct wincaps unsigned has_valid_processorlevel : 1; unsigned has_64bit_file_access : 1; unsigned has_process_io_counters : 1; + unsigned must_init_serial_line : 1; }; class wincapc @@ -98,6 +99,7 @@ public: bool IMPLEMENT (has_valid_processorlevel) bool IMPLEMENT (has_64bit_file_access) bool IMPLEMENT (has_process_io_counters) + bool IMPLEMENT (must_init_serial_line) #undef IMPLEMENT }; |