From: Peter Hurley <peter@hurleysoftware.com>
To: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
Heorhi Valakhanovich <valahanovich@tut.by>
Cc: linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org,
gregkh@linuxfoundation.org
Subject: Re: [PATCH] tty: Only hangup once
Date: Mon, 18 Nov 2013 12:37:07 -0500 [thread overview]
Message-ID: <528A5043.6030901@hurleysoftware.com> (raw)
In-Reply-To: <20131118134211.17861db3@alan.etchedpixels.co.uk>
On 11/18/2013 08:42 AM, One Thousand Gnomes wrote:
>> After upgrading to kernel 3.12 I noticed one issue with tmux software.
>> The easiest way to reproduce will be:
>> 1. Start tmux session as root.
>> 2. Connect via ssh and use "tmux attach" to attach to the running
>> session.
>> 3. Kill ssh client.
Heorhi,
Thanks for the report.
>> You can notice that shell (zsh in my case) and "tmux attach" are still
>> remains in process' list. That didn't happen in previous kernels.
This may have been a bug in previous kernels.
The tmux(1) man page has this to say:
Each session is persistent and will survive accidental disconnection
(such as ssh(1) connection timeout) or intentional detaching (with the
`C-b d' key strokes). tmux may be reattached using:
$ tmux attach
I'll confirm with tmux author(s) what the intended behavior is.
>> I've tried to bisect this in kernel sources and found commit
>> cb50e5235b8ae5aa0fe422eaaa8e444024c5bd98 which contains this exact
>> patch. I have not enough experience to investigate more so most likely
>> I will not find anything more. But it will be good if someone more
>> experienced will have a look at it.
>
> The patch should be reverted. The submission gives no reason that the
> patch was required - it just adds code and optimises a path that doesn't
> need optimising anyway.
Alan,
This patch isn't about optimizing; it's about guaranteeing the line discipline
and a tty driver that ops->hangup() will only occur once for any given tty.
> It's theoretically true you only need one hangup, unfortunately however
> I think it has to be the *last* hangup not the first or there are races
> between the tty code and the process group handling.
I doubt this is caused by a race condition; the first hangup would do most
of the destruction regardless, and a second hangup can't really race with
the first because of the tty_lock() held for most of the hangup.
In any event, it's worth discovering what state a subsequent hangup can
effect that the first hangup left incomplete. I'll look into it.
Regards,
Peter Hurley
next prev parent reply other threads:[~2013-11-18 17:37 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-31 18:05 [PATCH] tty: Only hangup once Peter Hurley
2013-08-02 3:46 ` Greg Kroah-Hartman
2013-08-02 23:02 ` Peter Hurley
2013-11-17 17:38 ` Heorhi Valakhanovich
2013-11-17 17:38 ` Heorhi Valakhanovich
2013-11-18 13:42 ` One Thousand Gnomes
2013-11-18 17:37 ` Peter Hurley [this message]
2013-11-18 20:32 ` Peter Hurley
2013-11-18 21:09 ` Heorhi Valakhanovich
2013-11-19 13:46 ` Peter Hurley
2013-11-19 17:19 ` Heorhi Valakhanovich
2013-11-19 17:40 ` Greg KH
2013-11-19 21:34 ` Peter Hurley
2013-11-19 23:05 ` Greg KH
2013-11-18 23:03 ` One Thousand Gnomes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=528A5043.6030901@hurleysoftware.com \
--to=peter@hurleysoftware.com \
--cc=gnomes@lxorguk.ukuu.org.uk \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=valahanovich@tut.by \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.