[Pkg-sysvinit-devel] Bug#638019: /run/initctl
Robert Millan
rmh at debian.org
Sun Jan 8 14:34:13 UTC 2012
El 8 de gener de 2012 15:14, Roger Leigh <rleigh at codelibre.net> ha escrit:
> The problem is that there isn't a signal to force a re-exec. You
> have to do it through the control pipe.
Ah I see. In retrospect, this seems like a bad decision. Well, gotta
work with what we've got...
> "init u" sends the signal
> through the pipe to trigger the re-exec, which requires that the
> old pipe be present. Because the new binaries will use the new
> path, "init u" on its own won't work. I would suggest this strategy:
>
> 1) Create /run/initctl
> 2) Symlink /dev/initctl (or /etc/.initctl) to /run/initctl
> 3) Send SIGUSR1 to init
> → init reopens using the old path, but is redirected to use
> /run/initctl
> 4) Wait for that action to complete
> 5) Run "init q" to re-exec init. The new init will use the new
> paths
> 6) Delete the no-longer-needed /dev/initctl (or /etc/.initctl).
Seems good, but I dislike step 4, as it opens the door for race conditions.
Can't we just remove steps 4 and 5? I think everything would work without them.
--
Robert Millan
More information about the Pkg-sysvinit-devel
mailing list