Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #15992
| Path | csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail |
|---|---|
| From | Chet Ramey <chet.ramey@case.edu> |
| Newsgroups | gnu.bash.bug |
| Subject | Re: Change in SIGTERM behaviour in bash 4.3 when using readline |
| Date | Wed, 4 Mar 2020 16:26:32 -0500 |
| Lines | 43 |
| Approved | bug-bash@gnu.org |
| Message-ID | <mailman.2055.1583357216.2412.bug-bash@gnu.org> (permalink) |
| References | <20200304181824.GA394387@chrisdown.name> <20200304192918.GB394387@chrisdown.name> <b900145d-5d7c-d2a1-4912-0bb2c6d4a416@case.edu> |
| Reply-To | chet.ramey@case.edu |
| NNTP-Posting-Host | lists.gnu.org |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 7bit |
| X-Trace | usenet.stanford.edu 1583357217 3282 209.51.188.17 (4 Mar 2020 21:26:57 GMT) |
| X-Complaints-To | action@cs.stanford.edu |
| Cc | chet.ramey@case.edu |
| To | Chris Down <chris@chrisdown.name>, bug-bash@gnu.org |
| Envelope-to | bug-bash@gnu.org |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1583357211; bh=g3WB/RYxoRZshsHJ6XsnTEHD0Zb5Ks1AMnhso1sXGuY=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=PPis2Ea3qXspRQPnrVnZA2AHAZoVu58upiX13xPl5Aqj6jkMM/UVBfG3dbMoodn2IH WykUD1DgaRlB38OPcqkO9BgMDa08oD5SojXwdQpLwM649ifCI3iwHokYsqxMoopYgOh 8RirSVF8twoo/LuMsqlKNXChy5Bm3Bu0z88AgethFYY41sUWmihPREwdeZItv5/CXWy Q6GIdTbT8px2teP8Ca+4tDmd2kY0NkRSjsxuCqmPjdqE0NydZbK03AeMfSvrIjm4H9a l4e7CmePrhwuqCaG6H+LP3Cspx0ELlELph/iSScdNMdJxGhIpcU5Wmk5f48kV1qz1fj oShKQoZw== |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1583357207; bh=tmw1HUBOeTl5Tz+17C3YxT5vKVrIGDhG3dmNMk73P2o=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=sbLl4wIoLMOhPgvGrpt5IW13TofJEwXjK7MhIveabwTI/grmOSYxmiDfJbt43adYBL 0MJ2le/PS04JbpOVJJDmDrS6fEFDCzE8CyUmZ+Y8yFhHPUVuc5k9BVKHSWvAR0C3pY+ H4/n1tSsRfOec2BiLQFp54K23sKSGUXeeX+xd1zhfmaIRwSk6RpMzkwVJY924gJGCz0 SACXdF9MgkkM03zJmQLCovbFePSVrubAxz8fv+hC0/fiRPJO6HXWIyPQ2utPOyIVMrr Fubw3InIjUjTEczUhKZ11CqHNh+3l9Kla4HHfdU2G24KNlbG5xMw0xa1vqdjEVGfK// 3kt5aQxQ== |
| Autocrypt | addr=chet.ramey@case.edu; prefer-encrypt=mutual; keydata= mQGiBEEOsGwRBACFa0A1oa71HSZLWxAx0svXzhOZNQZOzqHmSuGOG92jIpQpr8DpvgRh40Yp AwdcXb8QG1J5yGAKeevNE1zCFaA725vGSdHUyypHouV0xoWwukYO6qlyyX+2BZU+okBUqoWQ koWxiYaCSfzB2Ln7pmdys1fJhcgBKf3VjWCjd2XJTwCgoFJOwyBFJdugjfwjSoRSwDOIMf0D /iQKqlWhIO1LGpMrGX0il0/x4zj0NAcSwAk7LaPZbN4UPjn5pqGEHBlf1+xDDQCkAoZ/VqES GZragl4VqJfxBr29Ag0UDvNbUbXoxQsARdero1M8GiAIRc50hj7HXFoERwenbNDJL86GPLAQ OTGOCa4W2o29nFfFjQrsrrYHzVtyA/9oyKvTeEMJ7NA3VJdWcmn7gOu0FxEmSNhSoV1T4vP2 1Wf7f5niCCRKQLNyUy0wEApQi4tSysdz+AbgAc0b/bHYVzIf2uO2lIEZQNNt+3g2bmXgloWm W5fsm/di50Gm1l1Na63d3RZ00SeFQos6WEwLUHEB0yp6KXluXLLIZitEJLQgQ2hldCBSYW1l eSA8Y2hldC5yYW1leUBjYXNlLmVkdT6IYQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIX gAUCRX3FIgIZAQAKCRC7WGnwZOp0q069AKCNDRn+zzN/AHbaynls/Lvq1kH/RQCgkLvF8bDs maUHSxSIPqzlGuKWDxa5AQ0EQQ6wbxAEAJCukwDigRDPhAuI+lf+6P64lWanIFOXIndqhvU1 3cDbQ/Wt5LwPzm2QTvd7F+fcHOgZ8KOFScbDpjJaRqwIybMTcIN0B2pBLX/C10W1aY+cUrXZ gXUGVISEMmpaP9v02auToo7XXVEHC+XLO9IU7/xaU98FL69l6/K4xeNSBRM/AAMHA/wNAmRB pcyK0+VggZ5esQaIP/LyolAm2qwcmrd3dZi+g24s7yjV0EUwvRP7xHRDQFgkAo6++QbuecU/ J90lxrVnQwucZmfz9zgWDkT/MpfB/CNRSKLFjhYq2yHmHWT6vEjw9Ry/hF6Pc0oh1a62USdf aKAiim0nVxxQmPmiRvtCmYhJBBgRAgAJBQJBDrBvAhsMAAoJELtYafBk6nSr43AAn2ZZFQg8 Gs/zUzvXMt7evaFqVTzcAJ0cHtKpP1i/4H4R9+OsYeQdxxWxTQ== |
| User-Agent | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
| In-Reply-To | <20200304192918.GB394387@chrisdown.name> |
| Content-Language | en-US |
| X-Junkmail-Status | score=7/80, host=mpv3-2015.case.edu |
| X-Junkmail-PrAS-Raw | score=7/80, refid=2.7.2:2020.3.4.205118:17:7.944, ip=, rules=DKIM_SIGNATURE, __HAS_REPLYTO, __HAS_CC_HDR, __SUBJ_REPLY, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __SUBJ_ALPHA_END, __TO_MALFORMED_2, __MULTIPLE_RCPTS_TO_X2, __TO_NAME, __TO_NAME_DIFF_FROM_ACC, __HAS_REFERENCES, __REFERENCES, __HAS_FROM, FROM_EDU_TLD, __HAS_MSGID, __SANE_MSGID, DATE_TZ_NA, __USER_AGENT, __MOZILLA_USER_AGENT, __MIME_VERSION, __IN_REP_TO, __CT, __CT_TEXT_PLAIN, __CTE, __REPLYTO_SAMEAS_FROM_ADDY, __REPLYTO_SAMEAS_FROM_ACC, __FROM_DOMAIN_IN_ANY_CC1, __FROM_DOMAIN_IN_ANY_CC2, __REPLYTO_SAMEAS_FROM_DOMAIN, __DKIM_ALIGNS_1, __DKIM_ALIGNS_2, __ANY_URI, __URI_MAILTO, __URI_WITH_PATH, __URI_ENDS_IN_SLASH, __URI_NO_WWW, __CP_URI_IN_BODY, __SUBJ_ALPHA_NEGATE, __URI_IN_BODY, __URI_NOT_IMG, __MAIL_CHAIN, __FORWARDED_MSG, __BODY_NO_MAILTO, __NO_HTML_TAG_RAW, BODYTEXTP_SIZE_3000_LESS, BODY_SIZE_2000_2999, __MIME_TEXT_P1, __MIME_TEXT_ONLY, [TRUNCATED], so=2010-03-03 19:42:08, dmn=2016-08-03-0138 |
| X-detected-operating-system | by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] [fuzzy] |
| X-Received-From | 129.22.103.194 |
| X-BeenThere | bug-bash@gnu.org |
| X-Mailman-Version | 2.1.23 |
| Precedence | list |
| List-Id | Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org> |
| List-Unsubscribe | <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe> |
| List-Archive | <https://lists.gnu.org/archive/html/bug-bash> |
| List-Post | <mailto:bug-bash@gnu.org> |
| List-Help | <mailto:bug-bash-request@gnu.org?subject=help> |
| List-Subscribe | <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe> |
| X-Mailman-Original-Message-ID | <b900145d-5d7c-d2a1-4912-0bb2c6d4a416@case.edu> |
| X-Mailman-Original-References | <20200304181824.GA394387@chrisdown.name> <20200304192918.GB394387@chrisdown.name> |
| Xref | csiph.com gnu.bash.bug:15992 |
Show key headers only | View raw
On 3/4/20 2:29 PM, Chris Down wrote:
> Ah, it's been a while since I did this and I forgot about the granularity
> of the devel branch :-)
>
> There it bisects to 73a146bec7f75da9f78f6d54329c980b75a2318d ("commit
> bash-20130215 snapshot"). I'm pretty sure it's related to this change to
> add the signal handler inside initialize_shell_signals, which sets a new
> handler if SIGTERM isn't SIG_HARD_IGNORE.
>
> If I read the code correctly, in that case we will resume due to
> SA_RESTART, but bubbling up readline() will now return 0, which will be
> passed to yy_readline_get(), which returns EOF if current_readline_line is
> 0, so the shell closes.
>
> I'm not quite sure how best to handle this, maybe setting SIG_IGN as the
> default signal handler for interactive shells if there's nothing to
> inherit? This is one of those cases where SA_RESTART doesn't quite mimic
> SIG_IGN...
It has the same effect when called, but the key change is that readline,
noticing that SIGTERM is not ignored when it starts, installs its own
signal handler, which sets _rl_caught_signal accordingly. Then SIGTERM
interrupts the read, returns READERR/EOF, and we go from there (readline
only installs its SIGWINCH handler with SA_RESTART, since that is the right
thing for most applications).
Another consideration for treating SIGTERM and SIGHUP the same inside
the readline input code was the existence of terminal handlers that sent
SIGTERM when a user pressed the `close' button. If you don't return an
error in that case, readline just spins in the background.
If someone can guarantee to me that there are no remaining terminal
emulators that send SIGTERM in that case (that is, everyone sends SIGHUP
and possibly revokes read access from the process read size of the pty),
we can remove SIGTERM's special handling inside readline's input code and
let it be handled like other signals. Terminal emulators have evolved
considerably since then, so it might be possible to guarantee this.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
Back to gnu.bash.bug | Previous | Next | Find similar
Re: Change in SIGTERM behaviour in bash 4.3 when using readline Chet Ramey <chet.ramey@case.edu> - 2020-03-04 16:26 -0500
csiph-web