OpenVZ and the Ubuntu Upstart init daemon

Scott James Remnant scott at netsplit.com
Mon Apr 9 12:05:20 BST 2007


On Sun, 2007-04-08 at 15:22 +1000, Daniel Pittman wrote:

> The only reference to USR1 in the init code seems to be the
> nih_signal_reset function, installing the default signal handler.
> 
> The default for USR1, by signal(7), is to terminate the process.
> 
No, that's not correct.  The default handling for any signal for pid #1
is for that signal to *not be delivered*.

If OpenVZ doesn't deliver signals to init correctly, then it's a bug
there.

> Am I correct in my assumption -- should I take this issue of protection
> from signals up with the OpenVZ developers so they extend the same magic
> to the virtual PID 1 that the real PID 1 gets?
> 
Yes, absolutely.  OpenVZ must provide the same signal handling semantics
for pid #1 as the real kernel.  Signals (including SEGV!) are not
delivered unless there is a non-default handler for them.

> [1]  The script was:
> 
> #!/bin/sh
> if [ "$$" = "1" ]; then /sbin/syslogd; fi
> exec $0.distrib "$@"
> 
I don't understand why this would prevent the CHLD signal being
delivered to $0.distrib...  Sounds like there is another OpenVZ bug
here.

Scott
-- 
Have you ever, ever felt like this?
Had strange things happen?  Are you going round the twist?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/upstart-devel/attachments/20070409/3280fcd8/attachment.pgp 


More information about the upstart-devel mailing list