help-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-bash] readline does not always handle SIGTERM on reboot


From: Chet Ramey
Subject: Re: [Help-bash] readline does not always handle SIGTERM on reboot
Date: Fri, 6 Apr 2018 10:39:57 -0400
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

On 4/6/18 10:25 AM, john smith wrote:
> On Fri, Apr 6, 2018 at 3:47 PM, Chet Ramey <address@hidden> wrote:
>> On 4/6/18 9:11 AM, john smith wrote:
>>> Hello,
>>>
>>> I'm using bash 4.4.18 with busybox.  When reboot is done SIGTERM is
>>> sent to all processes by busybox init.  The problem is that while
>>> SIGTERM is always handled by sigterm_sighandler() in bash at reboot
>>> it's not always handled by rl_getc().  I did 10 attempts and SIGTERM
>>> has been not handled by rl_getc() in 8 cases.  It's problematic
>>> because rl_get() returns EOF on SIGTERM and it makes bash perform
>>> logout and save history.
>>>
>>> When I start a new session via telnet and kill a previously started
>>> bash session opened on serial console I can see that SIGTERM is
>>> handled in rl_getc() every time.
>>>
>>> What can be the reson rl_getc() does not handle SIGTERM on reboot?
>>
>> What does `handled' mean?
> 
> Sorry for not being clear enough.  By not handled I mean that this
> part rl_getc() is not run because apparently _rl_caught_signal is 0:
> 
> #if defined (SIGHUP)
>       else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
> #else
>       else if (_rl_caught_signal == SIGTERM)
> #endif
>     return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);

Then readline is not active when the SIGTERM arrives, or its signal
handlers are not installed.

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    address@hidden    http://tiswww.cwru.edu/~chet/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]