On Sat, Jul 17, 2010 at 01:13:32AM +0900, Ryota Ozaki wrote: > Init process may remain after sending SIGTERM for some reason. > For example, if original init program is used, it is definitely > not killed by SIGTERM. > --- > src/lxc/lxc_controller.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c > index 44bcc82..d8b7bc7 100644 > --- a/src/lxc/lxc_controller.c > +++ b/src/lxc/lxc_controller.c > @@ -663,7 +663,11 @@ cleanup: > close(containerPty); > > if (container > 1) { > + int status; > kill(container, SIGTERM); > + if (!(waitpid(container, &status, WNOHANG) == 0 && > + WIFEXITED(status))) > + kill(container, SIGKILL); > waitpid(container, NULL, 0); > } > return rc; Sounds right, and code looks fine, applied and pushed, thanks! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list