summaryrefslogtreecommitdiff
path: root/drivers/char
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2009-07-28 01:17:51 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-07-28 02:53:29 +0400
commit3a54297478e6578f96fd54bf4daa1751130aca86 (patch)
treeda5d7831f19d8fa58d5da3f8453fb53c0f66e86b /drivers/char
parentf1462147f15a954a1a0553390846c6fa3ca742b1 (diff)
downloadlinux-3a54297478e6578f96fd54bf4daa1751130aca86.tar.xz
pty: quickfix for the pty ENXIO timing problems
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>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/pty.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/char/pty.c b/drivers/char/pty.c
index 6e6942c45f5b..3850a68f265a 100644
--- a/drivers/char/pty.c
+++ b/drivers/char/pty.c
@@ -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;
}