diff options
author | Michael I. Bushnell <mib@gnu.org> | 1995-12-01 19:51:40 +0000 |
---|---|---|
committer | Michael I. Bushnell <mib@gnu.org> | 1995-12-01 19:51:40 +0000 |
commit | 389eeba0672c3ab7b12fec9cbcd6a7298a678c52 (patch) | |
tree | 3fe715adeb5057c9e72c686532c3afb151853860 /term | |
parent | ea4c569162b920483d2aa75140299bc4fc2d6f15 (diff) |
(devio_start_output): Restart output if USER_OUTPUT_SUSP flag off and
output_stopped true.
(output_stopped): New variable.
(devio_suspend_physical_output): New function.
(devio_bottom): Add devio_suspend_physical_output.
Diffstat (limited to 'term')
-rw-r--r-- | term/devio.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/term/devio.c b/term/devio.c index 9bef722d..870f969c 100644 --- a/term/devio.c +++ b/term/devio.c @@ -71,6 +71,8 @@ static struct port_info *phys_reply_pi; static device_t device_master; +static int output_stopped; + /* Forward */ static void devio_desert_dtr (); @@ -208,6 +210,12 @@ devio_start_output () if (!size || output_pending || (termflags & USER_OUTPUT_SUSP)) return; + if (output_stopped) + { + device_set_status (phys_device, TTY_START, 0, 0); + output_stopped = 0; + } + /* Copy characters onto PENDING_OUTPUT, not bothering those already there. */ @@ -343,6 +351,14 @@ devio_abandon_physical_output () output_pending = 0; } +static void +devio_suspend_physical_output () +{ + device_set_status (phys_device, TTY_STOP, 0, 0); + output_stopped = 1; +} + + static int devio_pending_output_size () { @@ -617,6 +633,7 @@ struct bottomhalf devio_bottom = devio_set_break, devio_clear_break, devio_abandon_physical_output, + devio_suspend_physical_output, devio_pending_output_size, devio_assert_dtr, devio_desert_dtr, |