Christopher Faylor 92ddb74290 * cygheap.cc (cygheap::close_ctty): Close ctty via close_with_arch().
* debug.cc (close_handle): Call debugger on failure.
* devices.in (device::tty_to_real_device): Delete.
* devices.h (device::tty_to_real_device): Ditto.
* devices.cc: Regenerate.
* dtable.cc: Delete old ifdef'ed vfork code.
(dtable::release): Don't handle archetype here.
(dtable::init_std_file_from_handle): Consolidate console tests.  Generate
major/minor for tty ASAP.  Fix incorrect setting of DEV_TTYS* for serial.
(fh_alloc): New function derived from build_fh_pc.  Pass current tty when
building tty.
(build_pc_pc): Use fh_alloc to create.  Set name from fh->dev if appropriate.
Generate an archetype or point to one here.
(dtable::dup_worker): Deal with archetypes.  Rely on = operator copying whole
class rather than just fhandler_base.
(dtable::fixup_after_exec): Call close_with_arch to handle closing of fhandlers
with archetypes.
* fhandler.cc (fhandler_base::operator =): Call memcpy with fhandler's size()
rather than sizeof fhandler_base.
(fhandler_base::open_with_arch): New function.  Handles opening of fhandler's
with archetypes, dealing with usecounts, etc.
(fhandler_base::close_with_arch): Ditto for close.
* fhandler.h: Many changes for archetypes.
(fhandler_base::set_name): Set both normalized path and regular path.
(fhandler_base::open_with_arch): New function.
(fhandler_base::open_setup): Ditto.
(fhandler_base::use_archetype): Ditto.
(fhandler_base::_archetype_usecount): Ditto.
(fhandler_*::size): Ditto.
(fhandler_dev_tape::open): Remove virtual decoration.
(fhandler_console::use_archetype): New function.  Return true.
(fhandler_console::open_setup): New function.
(fhandler_console::dup): Delete.
(fhandler_tty_slave::fhandler_tty_slave): Redeclare to take an argument.
(fhandler_tty_slave::use_archetype): New function.  Return true.
(fhandler_tty_slave::cleanup): New function.
(fhandler_pty_master::use_archetype): New function.  Return true.
(fhandler_pty_master::cleanup): New function.
(fhandler_pty_master::is_tty_master): New function.  Return false.
(fhandler_tty_master::is_tty_master): New function.  Return true.
(fhandler_dev_dsp::fhandler_dev_dsp): New function.  Return true.
(report_tty_counts): Only report on archetype's usecount if there is one.
* fhandler_console.cc (fhandler_console::get_tty_stuff): Remove handling of
setsid, set_ctty, set_flags, and manage_console_count.
(fhandler_console::open_setup): New function.  Implement functionality removed
from get_tty_stuff.
(fhandler_console::dup): Delete.
(fhandler_console::output_tcsetattr): Set errno on error.
(fhandler_console::fhandler_console): Set device early.
(fhandler_console::init): Use open_with_arch to open console handles.
(fhandler_console::fixup_after_fork_exec): Nuke most of the stuff for dealing
with console handles.
* fhandler_dsp.cc (fhandler_dev_dsp::open): Remove archetype handling.
(fhandler_dev_dsp::write): Ditto.
(fhandler_dev_dsp::read): Ditto.
(fhandler_dev_dsp::close): Ditto.
(fhandler_dev_dsp::dup): Ditto.
(fhandler_dev_dsp::ioctl): Ditto.
(fhandler_dev_dsp::fixup_after_fork): Ditto.
(fhandler_dev_dsp::fixup_after_exec): Ditto.
* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Add a little
more debugging.
(fhandler_tty_common::__release_output_mutex): Ditto.
(fhandler_pty_master::process_slave_output): Ditto.  Don't do signal handling
or pthread_cancel handling in the tty master thread.
(process_output): Minor reorg.
(fhandler_tty_slave::fhandler_tty_slave): Set device based on new ntty
argument.
(fhandler_tty_slave::open): Remove archetype handling.  Move some processing
into open_setup().
(fhandler_tty_slave::open_setup): New function.
(fhandler_tty_slave::cleanup): New function.
(fhandler_tty_slave::close): Remove archetype handling.  Move some processing
into cleanup().
(fhandler_tty_slave::init): Rename argument from f to h.  Open device using
open_with_arch().  Remove archetype handling.
(fhandler_pty_master::dup): Ditto.
(fhandler_pty_master::open): Ditto.
(fhandler_pty_master::close): Ditto.  Move some handling to cleanup().
(fhandler_pty_master::cleanup): New function.
(fhandler_tty_master::init_console): Give unique name to captive console
fhandler.
* pinfo.cc (_pinfo::set_ctty): Rename argument from arch to fh.  Eliminate
archetype assumption.
* syscalls.cc (close_all_files): Use close_with_arch for closing.
(open): Use open_with_arch() rather than open().
(close): Use close_with_arch() rather than close().
2011-05-05 22:30:53 +00:00
..
2011-02-15 15:56:03 +00:00
2009-01-21 17:14:39 +00:00
2006-05-24 16:59:03 +00:00
2011-04-29 10:38:12 +00:00
2006-03-01 20:20:22 +00:00
2010-08-30 01:57:37 +00:00
2010-08-30 01:57:37 +00:00
2009-09-22 02:49:15 +00:00
2007-01-03 11:14:53 +00:00
2009-09-22 02:49:15 +00:00
2010-01-01 19:28:15 +00:00
2009-01-21 17:14:39 +00:00
2011-02-15 15:56:03 +00:00
2009-08-01 19:52:46 +00:00
2011-04-18 11:26:37 +00:00
2009-10-31 13:24:06 +00:00
2009-07-07 20:12:44 +00:00
2011-05-04 22:12:15 +00:00
2010-03-03 15:05:19 +00:00
2010-03-03 15:05:19 +00:00
2010-01-14 18:46:02 +00:00
2011-01-20 11:09:21 +00:00
2011-04-04 12:23:36 +00:00
2010-01-14 18:46:02 +00:00
2011-04-04 12:23:36 +00:00
2011-04-04 12:23:36 +00:00
2011-05-05 15:03:54 +00:00
2006-03-01 20:20:22 +00:00
2010-08-30 01:57:37 +00:00
2011-03-30 21:54:09 +00:00
2011-02-15 15:56:03 +00:00
2011-04-04 12:23:36 +00:00
2010-02-22 11:01:46 +00:00
2011-04-04 12:23:36 +00:00
2010-07-19 18:22:40 +00:00
2010-04-10 05:47:54 +00:00
2009-01-21 17:14:39 +00:00
2011-03-29 10:42:11 +00:00
2011-04-18 12:00:05 +00:00
2010-08-30 01:57:37 +00:00
2011-04-29 10:38:12 +00:00
2011-04-29 10:38:12 +00:00
2011-04-29 10:38:12 +00:00
2011-04-29 10:38:12 +00:00
2011-04-29 10:38:12 +00:00
2009-01-21 17:14:39 +00:00
2011-05-05 15:03:54 +00:00
2011-05-04 22:12:15 +00:00
2010-03-13 19:34:35 +00:00
2010-08-30 01:57:37 +00:00
2010-08-30 01:57:37 +00:00
2010-06-21 19:55:12 +00:00
2009-08-01 19:52:46 +00:00
2011-01-20 11:09:21 +00:00
2006-07-17 19:30:30 +00:00
2011-03-16 21:10:51 +00:00