[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[libvirt] [PATCH 2/4] lxc: ignore ECHILD errors during vm cleanup
- From: Dave Leskovec <dlesko linux vnet ibm com>
- To: libvir-list redhat com
- Subject: [libvirt] [PATCH 2/4] lxc: ignore ECHILD errors during vm cleanup
- Date: Thu, 29 May 2008 15:20:10 -0700
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));
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]