lkml.org 
[lkml]   [2016]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 037/305] Revert "tty: Fix pty master poll() after slave closes v2"
    3.16.37-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Peter Hurley <peter@hurleysoftware.com>

    commit 2ce3c10c0c3e0d418c1a7a4c838319ba42c75388 upstream.

    This reverts commit c4dc304677e8d566572c4738d95c48be150c6606.
    This fix is superseded by commit 52bce7f8d4fc633c9a9d0646eef58ba6ae9a3b73,
    'pty, n_tty: Simplify input processing on final close'.

    The final close now waits for input processing to complete before
    destroying the pty, so poll() does not need to special case this
    condition.

    Cc: Francesco Ruggeri <fruggeri@arista.com>
    Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/tty/n_tty.c | 9 ++-------
    1 file changed, 2 insertions(+), 7 deletions(-)

    --- a/drivers/tty/n_tty.c
    +++ b/drivers/tty/n_tty.c
    @@ -2465,17 +2465,12 @@ static unsigned int n_tty_poll(struct tt

    poll_wait(file, &tty->read_wait, wait);
    poll_wait(file, &tty->write_wait, wait);
    - if (test_bit(TTY_OTHER_CLOSED, &tty->flags))
    - mask |= POLLHUP;
    if (input_available_p(tty, 1))
    mask |= POLLIN | POLLRDNORM;
    - else if (mask & POLLHUP) {
    - tty_flush_to_ldisc(tty);
    - if (input_available_p(tty, 1))
    - mask |= POLLIN | POLLRDNORM;
    - }
    if (tty->packet && tty->link->ctrl_status)
    mask |= POLLPRI | POLLIN | POLLRDNORM;
    + if (test_bit(TTY_OTHER_CLOSED, &tty->flags))
    + mask |= POLLHUP;
    if (tty_hung_up_p(file))
    mask |= POLLHUP;
    if (!(mask & (POLLHUP | POLLIN | POLLRDNORM))) {
    \
     
     \ /
      Last update: 2016-09-17 09:56    [W:5.778 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site