diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2014-11-05 12:13:05 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-11-05 18:50:42 -0800 |
commit | 52bce7f8d4fc633c9a9d0646eef58ba6ae9a3b73 (patch) | |
tree | 8d6586f5e62fcd0dbb4c54a64fe687939c79d1b6 /drivers/isdn/isdnloop | |
parent | 1bb954153aa97702db4363c6746794d097d9c707 (diff) | |
download | linux-52bce7f8d4fc633c9a9d0646eef58ba6ae9a3b73.tar.gz linux-52bce7f8d4fc633c9a9d0646eef58ba6ae9a3b73.tar.bz2 linux-52bce7f8d4fc633c9a9d0646eef58ba6ae9a3b73.zip |
pty, n_tty: Simplify input processing on final close
When releasing one end of a pty pair, that end may just have written
to the other, which the input processing worker, flush_to_ldisc(), is
still working on but has not completed the copy to the other end's
read buffer. So input may not appear to be available to a waiting
reader but yet TTY_OTHER_CLOSED is now observed. The n_tty line
discipline has worked around this by waiting for input processing
to complete and then re-checking if input is available before
exiting with -EIO.
Since the tty/ldisc lock reordering, the wait for input processing
to complete can now occur during final close before setting
TTY_OTHER_CLOSED. In this way, a waiting reader is guaranteed to
see input available (if any) before observing TTY_OTHER_CLOSED.
Reviewed-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/isdn/isdnloop')
0 files changed, 0 insertions, 0 deletions