* Use new unified status_flag accessor methods from classes fhandler_*,
tty_min, mtinfo and fs_info thoroughout. * fhandler.h: Redefine all set_close_on_exec methods to take a bool argument. (enum conn_state): Rename from connect_state. (class fhandler_base): Rename some status flags to align with accessor method names. Drop encoded flag entirely. Unify status accessor methods. Const'ify all read accessor methods. (class fhandler_socket): Ditto. (class fhandler_dev_raw): Ditto. * fhandler_disk_file.cc (fhandler_base::fstat_fs): Use fs.fs_is_fat() instead of evaluating FATness of file system here. (fhandler_disk_file::opendir): Drop call to set_encoded(). (fhandler_disk_file::readdir): Use pc.isencoded() directly. * mtinfo.h (class mtinfo_drive): Const'ify all read accessor methods. * path.cc (fsinfo_cnt): Add. (fs_info::update): Accomodate class changes. Evaluate file system name specific flags right here. Add thread safety for reading and writing global fsinfo array. * path.h (enum path_types): Drop values for flags kept in fs already. (struct fs_info): Move status informatin into private struct type status_flags. Add accessor methods. Remove path and file system name string arrays in favor of status bits. (class path_conv): Use new fs_info status information where appropriate. (path_conf::fs_has_ea): Rename from fs_fast_ea. (path_conf::fs_has_acls): New method. (path_conf::root_dir): Remove. (path_conf::volname): Remove. * syscalls (statfs): Evaluate root dir locally. * tty.h (class tty_min): Unify status accessor methods. Const'ify all read accessor methods.
This commit is contained in:
@ -26,7 +26,7 @@ details. */
|
||||
fhandler_serial::fhandler_serial ()
|
||||
: fhandler_base (), vmin_ (0), vtime_ (0), pgrp_ (myself->pgid)
|
||||
{
|
||||
set_need_fork_fixup ();
|
||||
need_fork_fixup (true);
|
||||
}
|
||||
|
||||
void
|
||||
@ -226,7 +226,7 @@ fhandler_serial::open (int flags, mode_t mode)
|
||||
|
||||
(void) SetCommMask (get_handle (), EV_RXCHAR);
|
||||
|
||||
set_r_no_interrupt (1); // Handled explicitly in read code
|
||||
uninterruptible_io (true); // Handled explicitly in read code
|
||||
|
||||
overlapped_setup ();
|
||||
|
||||
@ -765,8 +765,8 @@ fhandler_serial::tcsetattr (int action, const struct termios *t)
|
||||
res = -1;
|
||||
}
|
||||
|
||||
set_r_binary ((t->c_iflag & IGNCR) ? 0 : 1);
|
||||
set_w_binary ((t->c_oflag & ONLCR) ? 0 : 1);
|
||||
rbinary ((t->c_iflag & IGNCR) ? false : true);
|
||||
wbinary ((t->c_oflag & ONLCR) ? false : true);
|
||||
|
||||
if (dropDTR)
|
||||
{
|
||||
@ -1020,11 +1020,11 @@ fhandler_serial::tcgetattr (struct termios *t)
|
||||
|
||||
/* FIXME: need to handle IGNCR */
|
||||
#if 0
|
||||
if (!get_r_binary ())
|
||||
if (!rbinary ())
|
||||
t->c_iflag |= IGNCR;
|
||||
#endif
|
||||
|
||||
if (!get_w_binary ())
|
||||
if (!wbinary ())
|
||||
t->c_oflag |= ONLCR;
|
||||
|
||||
t->c_cc[VTIME] = vtime_ / 100;
|
||||
@ -1038,7 +1038,7 @@ fhandler_serial::tcgetattr (struct termios *t)
|
||||
void
|
||||
fhandler_serial::fixup_after_fork (HANDLE parent)
|
||||
{
|
||||
if (get_close_on_exec ())
|
||||
if (close_on_exec ())
|
||||
fhandler_base::fixup_after_fork (parent);
|
||||
overlapped_setup ();
|
||||
debug_printf ("io_status.hEvent %p", io_status.hEvent);
|
||||
|
Reference in New Issue
Block a user