[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [RFC PATCH v2 01/13] qom: Make object_child_foreach safe for
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-ppc] [RFC PATCH v2 01/13] qom: Make object_child_foreach safe for objects removal |
Date: |
Fri, 15 Aug 2014 20:12:23 +1000 |
Current object_child_foreach() uses QTAILQ_FOREACH() to walk
through children and that makes children removal from the callback
impossible.
This makes object_child_foreach() use QTAILQ_FOREACH_SAFE().
Signed-off-by: Alexey Kardashevskiy <address@hidden>
---
This went to Andreas's qom-next tree, it is here for the reference only.
---
qom/object.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/qom/object.c b/qom/object.c
index 0e8267b..4a814dc 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -678,10 +678,10 @@ void object_class_foreach(void (*fn)(ObjectClass *klass,
void *opaque),
int object_child_foreach(Object *obj, int (*fn)(Object *child, void *opaque),
void *opaque)
{
- ObjectProperty *prop;
+ ObjectProperty *prop, *next;
int ret = 0;
- QTAILQ_FOREACH(prop, &obj->properties, node) {
+ QTAILQ_FOREACH_SAFE(prop, &obj->properties, node, next) {
if (object_property_is_child(prop)) {
ret = fn(prop->opaque, opaque);
if (ret != 0) {
--
2.0.0
- [Qemu-ppc] [RFC PATCH v2 05/13] spapr_pci: Introduce a liobn number generating macros, (continued)
- [Qemu-ppc] [RFC PATCH v2 08/13] spapr_pci: Enable DDW, Alexey Kardashevskiy, 2014/08/15
- [Qemu-ppc] [RFC PATCH v2 01/13] qom: Make object_child_foreach safe for objects removal,
Alexey Kardashevskiy <=
- [Qemu-ppc] [RFC PATCH v2 02/13] spapr_iommu: Disable in-kernel IOMMU tables for >4GB windows, Alexey Kardashevskiy, 2014/08/15
- [Qemu-ppc] [RFC PATCH v2 07/13] spapr_rtas: Add Dynamic DMA windows (DDW) RTAS calls support, Alexey Kardashevskiy, 2014/08/15
- [Qemu-ppc] [RFC PATCH v2 09/13] spapr_pci_vfio: Call spapr_pci::reset on reset, Alexey Kardashevskiy, 2014/08/15