aboutsummaryrefslogtreecommitdiff
path: root/share/FAQ/Text
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>1995-07-30 12:39:42 +0000
committerBruce Evans <bde@FreeBSD.org>1995-07-30 12:39:42 +0000
commitd7515ab5cfbd966405330355d231b2a2aa2e1ca7 (patch)
tree5d0eae0751ab4d6891b2edb481b05df4a958f90d /share/FAQ/Text
parent70ad39a5d482ac0e715419ed3058559fe66cd069 (diff)
Split TS_ASLEEP (sleep on output [below low water])into TS_SO_OLOWAT (sleep
on output below low water) and TS_SO_OCOMPLETE (sleep on output complete). Most of the support for this has already been committed. Drivers should call ttwwakeup() to handle wakeups whenever output is below low water (and some output event causes this condition to be checked) or TS_BUSY is cleared. tty.c: Fix the livelock in ttywait() properly by sleeping on output complete, not on output below low water. Use ttwwakeup() instead of separate select and output wakeups for all wakeups of writers. Add wakeups of writers for output flushes and carrier/clocal transitions. Don't go to sleep in ttycheckoutq() if ttstart() reduces the queue to below low water. Use the timeout built into tsleep() in ttycheckoutq(). Optimize the select wakeup in ttwwakeup(). It seems reasonable to know too much about the internals of tp->t_wsel now that the knowledge is localised in tty.c.
Notes
Notes: svn path=/head/; revision=9790
Diffstat (limited to 'share/FAQ/Text')
0 files changed, 0 insertions, 0 deletions