* 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.
This commit is contained in:
Christopher Faylor 2001-09-14 04:22:05 +00:00
parent cd6ed3f9f5
commit 02a9889121
3 changed files with 18 additions and 12 deletions

View File

@ -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> Thu Sep 13 23:01:00 2001 Christopher Faylor <cgf@cygnus.com>
* grp.cc (read_etc_group): Just reuse group_buf storage for subsequent * grp.cc (read_etc_group): Just reuse group_buf storage for subsequent

View File

@ -442,7 +442,7 @@ public:
/* This strange test is due to the fact that we can't rely on /* This strange test is due to the fact that we can't rely on
Windows shells to "do the right thing" with pipes. Apparently Windows shells to "do the right thing" with pipes. Apparently
the can keep one end of the pipe open when it shouldn't be. */ 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_read (select_record *s);
select_record *select_write (select_record *s); select_record *select_write (select_record *s);
select_record *select_except (select_record *s); select_record *select_except (select_record *s);

View File

@ -11,7 +11,7 @@ details. */
#include "winsup.h" #include "winsup.h"
static wincaps wincap_unknown = { static NO_COPY wincaps wincap_unknown = {
lock_file_highword:0x0, lock_file_highword:0x0,
chunksize:0x0, chunksize:0x0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE,
@ -44,7 +44,7 @@ static wincaps wincap_unknown = {
has_try_enter_critical_section:false, has_try_enter_critical_section:false,
}; };
static wincaps wincap_95 = { static NO_COPY wincaps wincap_95 = {
lock_file_highword:0x0, lock_file_highword:0x0,
chunksize:32 * 1024 * 1024, chunksize:32 * 1024 * 1024,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE,
@ -77,7 +77,7 @@ static wincaps wincap_95 = {
has_try_enter_critical_section:false, has_try_enter_critical_section:false,
}; };
static wincaps wincap_95osr2 = { static NO_COPY wincaps wincap_95osr2 = {
lock_file_highword:0x0, lock_file_highword:0x0,
chunksize:32 * 1024 * 1024, chunksize:32 * 1024 * 1024,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE,
@ -110,7 +110,7 @@ static wincaps wincap_95osr2 = {
has_try_enter_critical_section:false, has_try_enter_critical_section:false,
}; };
static wincaps wincap_98 = { static NO_COPY wincaps wincap_98 = {
lock_file_highword:0x0, lock_file_highword:0x0,
chunksize:32 * 1024 * 1024, chunksize:32 * 1024 * 1024,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE,
@ -143,7 +143,7 @@ static wincaps wincap_98 = {
has_try_enter_critical_section:false, has_try_enter_critical_section:false,
}; };
static wincaps wincap_98se = { static NO_COPY wincaps wincap_98se = {
lock_file_highword:0x0, lock_file_highword:0x0,
chunksize:32 * 1024 * 1024, chunksize:32 * 1024 * 1024,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE,
@ -176,7 +176,7 @@ static wincaps wincap_98se = {
has_try_enter_critical_section:false, has_try_enter_critical_section:false,
}; };
static wincaps wincap_me = { static NO_COPY wincaps wincap_me = {
lock_file_highword:0x0, lock_file_highword:0x0,
chunksize:32 * 1024 * 1024, chunksize:32 * 1024 * 1024,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE,
@ -209,7 +209,7 @@ static wincaps wincap_me = {
has_try_enter_critical_section:false, has_try_enter_critical_section:false,
}; };
static wincaps wincap_nt3 = { static NO_COPY wincaps wincap_nt3 = {
lock_file_highword:0xffffffff, lock_file_highword:0xffffffff,
chunksize:0, chunksize:0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
@ -242,7 +242,7 @@ static wincaps wincap_nt3 = {
has_try_enter_critical_section:false, has_try_enter_critical_section:false,
}; };
static wincaps wincap_nt4 = { static NO_COPY wincaps wincap_nt4 = {
lock_file_highword:0xffffffff, lock_file_highword:0xffffffff,
chunksize:0, chunksize:0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
@ -275,7 +275,7 @@ static wincaps wincap_nt4 = {
has_try_enter_critical_section:true, has_try_enter_critical_section:true,
}; };
static wincaps wincap_nt4sp4 = { static NO_COPY wincaps wincap_nt4sp4 = {
lock_file_highword:0xffffffff, lock_file_highword:0xffffffff,
chunksize:0, chunksize:0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
@ -308,7 +308,7 @@ static wincaps wincap_nt4sp4 = {
has_try_enter_critical_section:true, has_try_enter_critical_section:true,
}; };
static wincaps wincap_2000 = { static NO_COPY wincaps wincap_2000 = {
lock_file_highword:0xffffffff, lock_file_highword:0xffffffff,
chunksize:0, chunksize:0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
@ -341,7 +341,7 @@ static wincaps wincap_2000 = {
has_try_enter_critical_section:true, has_try_enter_critical_section:true,
}; };
static wincaps wincap_xp = { static NO_COPY wincaps wincap_xp = {
lock_file_highword:0xffffffff, lock_file_highword:0xffffffff,
chunksize:0, chunksize:0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,