Subject: Re: tty/kernel help
To: None <banshee@gabriella.resort.com>
From: Charles M. Hannum <mycroft@ai.mit.edu>
List: current-users
Date: 02/10/1995 03:05:28
   Could someone in the know, explain the need for the following code 
   snippet, taken from the output routine in com.c
   [...]

TS_ASLEEP is set when something is waiting for the tty queue to drain;
either because it's overfull and something is trying to output, or
because the tty parameters needs to be changed.  When the queue is
more full than the high water mark, no more output is queued; when it
becomes less empty than the low water mark, output is resumed.

Similar for select(); a writer will not select on the write side of a
tty if the buffer is more full than the high water mark.  So if there
is a pending select(), we have to wake up the process.