[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bash handles terminate signals incorrectly, when it is run as the in
From: |
Chet Ramey |
Subject: |
Re: bash handles terminate signals incorrectly, when it is run as the init process in a pid namespace |
Date: |
Thu, 22 Mar 2018 21:25:23 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On 3/22/18 3:38 PM, Andrei Vagin wrote:
> I am thinking how to fix this issue properly. Here are a few points:
> * bash should know that signals are ignored if a process is the init
> process in a pid namespace.
Why should it know this? It's not documented, not portable, and conflicts
with the way signals are documented to behave. This is a situation-specific
problem.
> * user and kernel signals (SEGV, SIGFPE, SIGBUS, etc) are handled differently
Fatal signals (signals whose default disposition is to exit the process)
are pretty much handled identically.
> * bash should not return back from termsig_sighandler(), if it has
> sent a signal to itself.
That suggests that the easiest way to solve the problem is to add a call
to exit() after the kill().
--
``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/