This patch ignores ECHILD from waitpid(). This can happen if libvirtd was restarted and the container processes are no longer the children of libvirtd. -- Best Regards, Dave Leskovec IBM Linux Technology Center Open Virtualization
--- src/lxc_driver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Index: b/src/lxc_driver.c =================================================================== --- a/src/lxc_driver.c 2008-05-29 14:34:27.000000000 -0700 +++ b/src/lxc_driver.c 2008-05-29 14:34:45.000000000 -0700 @@ -943,7 +943,7 @@ while (((waitRc = waitpid(vm->def->id, &childStatus, 0)) == -1) && errno == EINTR); - if (waitRc != vm->def->id) { + if ((waitRc != vm->def->id) && (errno != ECHILD)) { lxcError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("waitpid failed to wait for container %d: %d %s"), vm->def->id, waitRc, strerror(errno)); @@ -976,7 +976,7 @@ while (((waitRc = waitpid(vm->pid, &childStatus, 0)) == -1) && errno == EINTR); - if (waitRc != vm->pid) { + if ((waitRc != vm->pid) && (errno != ECHILD)) { lxcError(NULL, NULL, VIR_ERR_INTERNAL_ERROR, _("waitpid failed to wait for tty %d: %d %s"), vm->pid, waitRc, strerror(errno));
-- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list