[libvirt] [PATCH 2/4] lxc: ignore ECHILD errors during vm cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]