* cygheap.cc (init_cygheap::close_ctty): Protect YA vforkism.

* fhandler.h (fhandler_base::has_acls): Make pass through for path_conv method.
(fhandler_base::isremote): Ditto.
(fhandler_base::is_fs_special): Ditto.
(fhandler_base::has_attribute): Ditto.  Define new function.
(fhandler_base::fhaccess): Declare new function based on access_worker.
(fhandler_base::set_has_acls): Eliminate obsolete function.
(fhandler_base::set_isremote): Ditto.
* fhandler.cc (fhandler_base::fhaccess): Move from syscalls.cc and into
fhandler_base class.  Use fhandler methods to access data rather than path_conv
stuff.
(fhandler_base::device_access_denied): Use fhaccess method.
* fhandler_disk_file.cc (fhandler_disk_file::opendir): Ditto.
(fhandler_base::open_fs): Remove calls to obsolete functions.
* fhandler_virtual.cc (fhandler_virtual::open): Ditto.
* winsup.h (access_worker): Remove obsolete access_worker declaration.
*syscalls.cc (access_worker): Move function to fhandler.cc.
(access): Use fhaccess method.
* pinfo.cc (_pinfo::set_ctty): Clarify debugging output.
* sigproc.cc (sig_dispatch_pending): Ditto.
* syscalls.cc (setsid): Perform minor rearrangement.
This commit is contained in:
Christopher Faylor
2004-01-24 03:40:33 +00:00
parent 8e21b8e534
commit f4e815bc30
10 changed files with 133 additions and 110 deletions

View File

@@ -108,7 +108,6 @@ class fhandler_base
__ino64_t namehash; /* hashed filename, used as inode num */
protected:
/* Full unix path name of this file */
/* File open flags from open () and fcntl () calls */
int openflags;
@@ -256,12 +255,11 @@ class fhandler_base
int get_readahead_into_buffer (char *buf, size_t buflen);
bool has_acls () { return FHISSETF (HASACLS); }
void set_has_acls (int val) { FHCONDSETF (val, HASACLS); }
bool has_acls () const { return pc.has_acls (); }
bool isremote () { return FHISSETF (ISREMOTE); }
void set_isremote (int val) { FHCONDSETF (val, ISREMOTE); }
bool isremote () { return pc.isremote (); }
bool has_attribute (DWORD x) const {return pc.has_attribute (x);}
const char *get_name () const { return pc.normalized_path; }
const char *get_win32_name () { return pc.get_win32 (); }
__ino64_t get_namehash () { return namehash; }
@@ -364,8 +362,9 @@ class fhandler_base
virtual int closedir (DIR *);
virtual bool is_slow () {return 0;}
bool is_auto_device () {return isdevice () && !dev ().isfs ();}
bool is_fs_special () {return dev ().isfs ();}
bool device_access_denied (int) __attribute__ ((regparm (1)));
bool is_fs_special () {return pc.is_fs_special ();}
bool device_access_denied (int) __attribute__ ((regparm (2)));
bool fhaccess (int flags) __attribute__ ((regparm (2)));
};
class fhandler_socket: public fhandler_base