From 29ac7f89e36e5f5b46286cdbb5501bcea3ce2055 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 7 Sep 2000 16:23:51 +0000 Subject: Split out tty and shared_info stuff into their own headers and use throughout. Include sys/termios.h for files which need it. * tty.h: New file. * shared_info.h: New file. * fhandler.h: Move inline methods that rely on tty stuff to fhandler_console.cc. * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Set output_done_event immediately after reading data to speed up tty output processing. (process_output): Set write_error to errno or zero. (fhandler_tty_slave::write): Check previous write error prior to writing to slave end of pipe. This allows tty output to be slightly less synchronous. * fhandler_console.cc (fhandler_console::tcsetpgrp): Moved here from fhandler.h. (fhandler_console::set_input_state): Ditto. --- winsup/cygwin/fhandler.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'winsup/cygwin/fhandler.h') diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index a7f942a7e..b25665873 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -511,6 +511,8 @@ public: #define release_output_mutex() \ __release_output_mutex (__PRETTY_FUNCTION__, __LINE__); +class tty; +class tty_min; class fhandler_termios: public fhandler_base { protected: @@ -594,7 +596,7 @@ public: int tcsetattr (int a, const struct termios *t); int tcgetattr (struct termios *t); - int tcsetpgrp (const pid_t pid) { tc->pgid = pid; return 0; } + int tcsetpgrp (const pid_t pid); /* Special dup as we must dup two handles */ int dup (fhandler_base *child); @@ -609,11 +611,7 @@ public: void fixup_after_exec (HANDLE); void set_close_on_exec (int val); void fixup_after_fork (HANDLE parent); - void set_input_state () - { - if (TTYISSETF (RSTCONS)) - input_tcsetattr (0, &tc->ti); - } + void set_input_state (); }; class fhandler_tty_common: public fhandler_termios -- cgit v1.2.3