aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2009-07-27 17:17:51 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-07-27 18:53:29 -0400
commit3a54297478e6578f96fd54bf4daa1751130aca86 (patch)
treeda5d7831f19d8fa58d5da3f8453fb53c0f66e86b
parentf1462147f15a954a1a0553390846c6fa3ca742b1 (diff)
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>
-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)
52 return; 52 return;
53 tty->link->packet = 0; 53 tty->link->packet = 0;
54 set_bit(TTY_OTHER_CLOSED, &tty->link->flags); 54 set_bit(TTY_OTHER_CLOSED, &tty->link->flags);
55 tty_flip_buffer_push(tty->link);
55 wake_up_interruptible(&tty->link->read_wait); 56 wake_up_interruptible(&tty->link->read_wait);
56 wake_up_interruptible(&tty->link->write_wait); 57 wake_up_interruptible(&tty->link->write_wait);
57 if (tty->driver->subtype == PTY_TYPE_MASTER) { 58 if (tty->driver->subtype == PTY_TYPE_MASTER) {
@@ -207,6 +208,7 @@ static int pty_open(struct tty_struct *tty, struct file *filp)
207 clear_bit(TTY_OTHER_CLOSED, &tty->link->flags); 208 clear_bit(TTY_OTHER_CLOSED, &tty->link->flags);
208 set_bit(TTY_THROTTLED, &tty->flags); 209 set_bit(TTY_THROTTLED, &tty->flags);
209 retval = 0; 210 retval = 0;
211 tty->low_latency = 1;
210out: 212out:
211 return retval; 213 return retval;
212} 214}