[OE-core] Problem with blocked signals in daemons started from rpm postinstall scriptlet

Alexander Kanavin alex.kanavin at gmail.com
Sat Feb 9 19:23:36 UTC 2019


On Sat, 9 Feb 2019 at 19:55, Diego Santa Cruz via Openembedded-core
<openembedded-core at lists.openembedded.org> wrote:
> I am having problems with daemons that get started from the rpm postinstall scriptlet, via update-rc.d, that they cannot be killed. Investigating I discovered that they have most signals blocked. My guess is that rpm blocks almost all signals so that scriptlets do not fail, but as the signal mask is inherited across fork and exec the daemons end up being blocked. Looking at update-rc.d it is a simple shell script which does not reset the signal mask, so any daemons started from there inherit the signal mask.
>
> Even worse, things like ntp which rely on SIGALRM fail to work properly when started from the postinstall scriptlet.
>
> Any ideas on how could this be solved, I am considering tweaking update-rc.d to ignore the -s option as a workaround, at least it avoids the issue and anyhow in my setup I always reboot after installing or updating packages. Any other ideas?

I'd suggest you take this to rpm upstream. Obviously rpm is widely
used in Fedora, RHEL and other distros, so somehow people can find a
way around this.

Alex


More information about the Openembedded-core mailing list