pty: quickfix for the pty ENXIO timing problems
authorAlan Cox <alan@linux.intel.com>
Mon, 27 Jul 2009 21:17:51 +0000 (22:17 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 27 Jul 2009 22:53:29 +0000 (15:53 -0700)
This also makes close stall in the normal case which is apparently
needed to fix emacs

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/char/pty.c

index 6e6942c45f5b6cb76d6c1aaf91ed96fee9185ae7..3850a68f265ae56ef8fd601d1ca36bf12b339f31 100644 (file)
@@ -52,6 +52,7 @@ static void pty_close(struct tty_struct *tty, struct file *filp)
                return;
        tty->link->packet = 0;
        set_bit(TTY_OTHER_CLOSED, &tty->link->flags);
+       tty_flip_buffer_push(tty->link);
        wake_up_interruptible(&tty->link->read_wait);
        wake_up_interruptible(&tty->link->write_wait);
        if (tty->driver->subtype == PTY_TYPE_MASTER) {
@@ -207,6 +208,7 @@ static int pty_open(struct tty_struct *tty, struct file *filp)
        clear_bit(TTY_OTHER_CLOSED, &tty->link->flags);
        set_bit(TTY_THROTTLED, &tty->flags);
        retval = 0;
+       tty->low_latency = 1;
 out:
        return retval;
 }