[Pkg-sysvinit-devel] Bug#638019: /run/initctl

Roger Leigh rleigh at codelibre.net
Sun Jan 8 13:56:26 UTC 2012


On Sun, Jan 08, 2012 at 02:26:52PM +0100, Robert Millan wrote:
> El 8 de gener de 2012 14:15, Roger Leigh <rleigh at codelibre.net> ha escrit:
> > I thought about it a bit more, and the symlink is not needed.
> > If we create /run/initctl and re-exec init, it will then open the
> > new pipe.  We can then delete the old one and the process is
> > complete.  This can be done entirely within the postinst, and is
> > what the attached patch does.
> 
> How do you tell init to re-exec when there's no initctl? HUP signal?

The postinst currently calls "init u", but I think that's problematic--
it would call the new binary using the new path.  We can use SIGUSR1
to tell it to reopen the control channel.  Maybe symlink /dev/initctl
to /run/initctl and issue SIGUSR1, then issue "init u" to rexec?

We would probably need a sleep between the two to give init a chance
to open /run/initctl prior to issuing the "init u".


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.





More information about the Pkg-sysvinit-devel mailing list