El 8 de gener de 2012 15:14, Roger Leigh <rle...@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 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org