summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler.h
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-09-07 16:23:51 +0000
committerChristopher Faylor <me@cgf.cx>2000-09-07 16:23:51 +0000
commit29ac7f89e36e5f5b46286cdbb5501bcea3ce2055 (patch)
tree53317078f39b909b63757eadca3cf80fdd654738 /winsup/cygwin/fhandler.h
parentc1644acb233ed749b28b4139604ab134cf1cd34c (diff)
downloadcygnal-29ac7f89e36e5f5b46286cdbb5501bcea3ce2055.tar.gz
cygnal-29ac7f89e36e5f5b46286cdbb5501bcea3ce2055.tar.bz2
cygnal-29ac7f89e36e5f5b46286cdbb5501bcea3ce2055.zip
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.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r--winsup/cygwin/fhandler.h10
1 files changed, 4 insertions, 6 deletions
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