Messages in this thread | | | Date | Mon, 11 Aug 2008 09:14:03 -0600 | From | Joe Peterson <> | Subject | Re: tty: ctrl-c not always echoed, especially under load |
| |
Alan Cox wrote: > It should certainly occur if the output buffer is full but that shouldn't > be the case for a few bytes. Agreed the current behaviour is unexpected > and less than desirable so hack away.
I see the problem clearly now. The driver does indeed reject writes when the tty is stopped or full, and the ldisc throws them away in that case (only for echos or other ldisc-generated output, of course). This problem goes deeper in that the column logic (for eraser, tabs, etc.) relies on the characters making it to the tty, and here are many places this is never checked/guaranteed.
I am working up an echo buffer (fifo) that would hold these characters until they can be sent (if the write is not possible), but since that means they will arrive at the tty later, their interleaving within the application output stream is not guaranteed, which again is a problem for the column logic.
I'm still looking into it - not trivial for sure...
-Joe
| |