From 389eeba0672c3ab7b12fec9cbcd6a7298a678c52 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Fri, 1 Dec 1995 19:51:40 +0000 Subject: (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. --- term/devio.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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, -- cgit v1.2.3