Messages in this thread | | | Date | Fri, 13 Apr 2012 13:20:51 -0500 | From | Serge Hallyn <> | Subject | Re: [PATCH] pidns: reboot_pid_ns: use SEND_SIG_FORCED instead of force_sig() |
| |
Quoting Oleg Nesterov (oleg@redhat.com): > cf3f8921 "pidns: add reboot_pid_ns() to handle the reboot syscall" > uses force_sig() to kill the SIGNAL_UNKILLABLE cinit, this was the > only choice. > > After 629d362b we can use SEND_SIG_FORCED instead, force_sig() has > the special semantics and should be avoided if possible. > > Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Hi Oleg,
I like the patch in theory, however after applying it containers are no longer able to shutdown/reboot. I can externally kill them with lxc-stop, but internal shutdown fails.
> diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c > index 57bc1fd..ef35e20 100644 > --- a/kernel/pid_namespace.c > +++ b/kernel/pid_namespace.c > @@ -241,7 +241,7 @@ int reboot_pid_ns(struct pid_namespace *pid_ns, int cmd) > } > > read_lock(&tasklist_lock); > - force_sig(SIGKILL, pid_ns->child_reaper); > + do_send_sig_info(SIGKILL, SEND_SIG_FORCED, pid_ns->child_reaper, true); > read_unlock(&tasklist_lock); > > do_exit(0); >
| |