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

Diego Santa Cruz Diego.SantaCruz at spinetix.com
Fri Feb 8 20:29:31 UTC 2019


Hi there,

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?

Sincerely,

-- 
Diego Santa Cruz, PhD
Technology Architect
spinetix.com



More information about the Openembedded-core mailing list