diff options
author | Alan Cox <alan@linux.intel.com> | 2009-07-27 17:17:51 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-27 18:53:29 -0400 |
commit | 3a54297478e6578f96fd54bf4daa1751130aca86 (patch) | |
tree | da5d7831f19d8fa58d5da3f8453fb53c0f66e86b /drivers/char | |
parent | f1462147f15a954a1a0553390846c6fa3ca742b1 (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>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/pty.c | 2 |
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; | ||
210 | out: | 212 | out: |
211 | return retval; | 213 | return retval; |
212 | } | 214 | } |