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 | |
| 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>
| -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 | } |
