diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/fhandler.h | 2 | ||||
-rw-r--r-- | winsup/cygwin/wincap.cc | 22 |
3 files changed, 18 insertions, 12 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 6e6b28987..ddf8cd82d 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +Fri Sep 14 00:18:52 2001 Christopher Faylor <cgf@cygnus.com> + + * fhandler.h (fhandler_pipe::is_slow): Return true only if pipes are + reliable (i.e., not Win9x). + * wincap.cc: Make statics NO_COPY to avoid fork overhead. + Thu Sep 13 23:01:00 2001 Christopher Faylor <cgf@cygnus.com> * grp.cc (read_etc_group): Just reuse group_buf storage for subsequent diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index f094ca463..1f6f839e8 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -442,7 +442,7 @@ public: /* This strange test is due to the fact that we can't rely on Windows shells to "do the right thing" with pipes. Apparently the can keep one end of the pipe open when it shouldn't be. */ - BOOL is_slow () {return wincap.has_unreliable_pipes ();} + BOOL is_slow () {return !wincap.has_unreliable_pipes ();} select_record *select_read (select_record *s); select_record *select_write (select_record *s); select_record *select_except (select_record *s); diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index 857af10ac..117ed6603 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -11,7 +11,7 @@ details. */ #include "winsup.h" -static wincaps wincap_unknown = { +static NO_COPY wincaps wincap_unknown = { lock_file_highword:0x0, chunksize:0x0, shared:FILE_SHARE_READ | FILE_SHARE_WRITE, @@ -44,7 +44,7 @@ static wincaps wincap_unknown = { has_try_enter_critical_section:false, }; -static wincaps wincap_95 = { +static NO_COPY wincaps wincap_95 = { lock_file_highword:0x0, chunksize:32 * 1024 * 1024, shared:FILE_SHARE_READ | FILE_SHARE_WRITE, @@ -77,7 +77,7 @@ static wincaps wincap_95 = { has_try_enter_critical_section:false, }; -static wincaps wincap_95osr2 = { +static NO_COPY wincaps wincap_95osr2 = { lock_file_highword:0x0, chunksize:32 * 1024 * 1024, shared:FILE_SHARE_READ | FILE_SHARE_WRITE, @@ -110,7 +110,7 @@ static wincaps wincap_95osr2 = { has_try_enter_critical_section:false, }; -static wincaps wincap_98 = { +static NO_COPY wincaps wincap_98 = { lock_file_highword:0x0, chunksize:32 * 1024 * 1024, shared:FILE_SHARE_READ | FILE_SHARE_WRITE, @@ -143,7 +143,7 @@ static wincaps wincap_98 = { has_try_enter_critical_section:false, }; -static wincaps wincap_98se = { +static NO_COPY wincaps wincap_98se = { lock_file_highword:0x0, chunksize:32 * 1024 * 1024, shared:FILE_SHARE_READ | FILE_SHARE_WRITE, @@ -176,7 +176,7 @@ static wincaps wincap_98se = { has_try_enter_critical_section:false, }; -static wincaps wincap_me = { +static NO_COPY wincaps wincap_me = { lock_file_highword:0x0, chunksize:32 * 1024 * 1024, shared:FILE_SHARE_READ | FILE_SHARE_WRITE, @@ -209,7 +209,7 @@ static wincaps wincap_me = { has_try_enter_critical_section:false, }; -static wincaps wincap_nt3 = { +static NO_COPY wincaps wincap_nt3 = { lock_file_highword:0xffffffff, chunksize:0, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, @@ -242,7 +242,7 @@ static wincaps wincap_nt3 = { has_try_enter_critical_section:false, }; -static wincaps wincap_nt4 = { +static NO_COPY wincaps wincap_nt4 = { lock_file_highword:0xffffffff, chunksize:0, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, @@ -275,7 +275,7 @@ static wincaps wincap_nt4 = { has_try_enter_critical_section:true, }; -static wincaps wincap_nt4sp4 = { +static NO_COPY wincaps wincap_nt4sp4 = { lock_file_highword:0xffffffff, chunksize:0, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, @@ -308,7 +308,7 @@ static wincaps wincap_nt4sp4 = { has_try_enter_critical_section:true, }; -static wincaps wincap_2000 = { +static NO_COPY wincaps wincap_2000 = { lock_file_highword:0xffffffff, chunksize:0, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, @@ -341,7 +341,7 @@ static wincaps wincap_2000 = { has_try_enter_critical_section:true, }; -static wincaps wincap_xp = { +static NO_COPY wincaps wincap_xp = { lock_file_highword:0xffffffff, chunksize:0, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, |