[lkml]   [2009]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectRe: [Bug #14015] pty regressed again, breaking expect and gcc's testsuite

    On Fri, 4 Sep 2009, Linus Torvalds wrote:
    > How about something like this? It's way too anal - it says that we can
    > only write data if there's enough space to always push it all the way to
    > the receive buffer (including all the data that was already buffered up,
    > ie the "memory_used" part). But if it finally makes the problem go away,
    > we have another clue.

    I forgot to actually include the patch. Duh.

    And again - UNTESTED. Maybe this makes the buffering _too_ small (the
    'memory_used' thing is not really counted in bytes buffered, it's counted
    in how much buffer space we've allocated) and things break even worse and
    pty's don't work at all. But I think it might work.


    drivers/char/pty.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/drivers/char/pty.c b/drivers/char/pty.c
    index d083c73..139fa5a 100644
    --- a/drivers/char/pty.c
    +++ b/drivers/char/pty.c
    @@ -91,7 +91,7 @@ static void pty_unthrottle(struct tty_struct *tty)

    static int pty_space(struct tty_struct *to)
    - int n = 8192 - to->buf.memory_used;
    + int n = to->receive_room - to->buf.memory_used;
    if (n < 0)
    return 0;
    return n;

     \ /
      Last update: 2009-10-18 23:28    [W:0.031 / U:29.876 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site