2002-03-21 17:05:35

by Sapan J . Bhatia

[permalink] [raw]
Subject: [PATCH] POLL_OUT for tty drivers, misc bug

Hello,

While fixing a flow control bug that truncated output to a terminal in
User Mode Linux, I noticed that the tty drivers only send POLL_IN on new
data being available but not POLL_OUT when the device is ready for new
data.

This patch fixes the bug in the line discipline and the pty driver.

Also, there's another minor bug in n_tty.c where write_chan returns
on a (retvalue < 0) unconditionally. This is a problem, since the type of
IO (BLOCKING / NON_BLOCKING) is stored in the tty, and if the console driver
returns a -EAGAIN (eg. in UML on getting an EAGAIN from the host kernel),
write_chan returns even in the case of a blocking write, which is wrong
since the process doesn't expect it.

Regards,
Sapan


Attachments:
(No filename) (720.00 B)
tty_bugs.diff (2.41 kB)
Download all attachments