On Sat, Mar 26, 2016 at 2:33 PM, Thompson, David <dthomps...@worcester.edu> wrote: > On Sat, Mar 26, 2016 at 2:23 PM, Ludovic Courtès <l...@gnu.org> wrote: >> David Thompson <dthomps...@worcester.edu> skribis: >> >>> * tests/guix-environment-container.sh: Remove obsolete test. >> >> [...] >> >>> -if guix environment --bootstrap --container \ >>> - --ad-hoc bootstrap-binaries -- kill -SEGV 2 >>> -then false; >>> -else >>> - test $? -gt 127 >>> -fi >> >> This test was added in light of <http://bugs.gnu.org/21958>. We want to >> make sure we don’t lose that property. >> >> What happens exactly when a signal is sent to PID 1? I would expect >> that its parent process, which is outside the container in a waitpid >> call, would simply get its exit value in the normal way, and thus, >> changing “2” to “1” in this test should do the trick. Am I naïve? :-) > > The problem is that a process within the container cannot just kill > PID 1 since its the init process and the kernel protects it, so > changing "2" to "1" doesn't work. The exit status of the environment > command is 0 in that case because PID 1 never received the signal and > thus exits normally. > > I'll try to come up with a replacement test case, thanks for giving me > the context in which it was added. (I should've used 'git blame' > first.)
Coming up with a replacement test has proved very difficult. Since PID 1 is unkillable, I'm having a hell of time coming up with a clever way to kill a Guile process via a signal. - Dave