[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 01/10] qom: Make object_child_foreach safe for o
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-devel] [RFC PATCH 01/10] qom: Make object_child_foreach safe for objects removal |
Date: |
Thu, 31 Jul 2014 19:34:05 +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-devel] [RFC PATCH 00/10] spapr: vfio: Enable Dynamic DMA windows (DDW), Alexey Kardashevskiy, 2014/07/31
- [Qemu-devel] [RFC PATCH 06/10] spapr_rtas: Add Dynamic DMA windows (DDW) RTAS calls support, Alexey Kardashevskiy, 2014/07/31
- [Qemu-devel] [RFC PATCH 01/10] qom: Make object_child_foreach safe for objects removal,
Alexey Kardashevskiy <=
- [Qemu-devel] [RFC PATCH 03/10] spapr_pci: Make find_phb()/find_dev() public, Alexey Kardashevskiy, 2014/07/31
- [Qemu-devel] [RFC PATCH 09/10] spapr_pci_vfio: Enable DDW, Alexey Kardashevskiy, 2014/07/31
- [Qemu-devel] [RFC PATCH 08/10] spapr_pci: Enable DDW, Alexey Kardashevskiy, 2014/07/31
- [Qemu-devel] [RFC PATCH 07/10] spapr: Add "ddw" machine option, Alexey Kardashevskiy, 2014/07/31
- [Qemu-devel] [RFC PATCH 05/10] linux headers update for DDW, Alexey Kardashevskiy, 2014/07/31
- [Qemu-devel] [RFC PATCH 02/10] spapr_iommu: Disable in-kernel IOMMU tables for >4GB windows, Alexey Kardashevskiy, 2014/07/31
- [Qemu-devel] [RFC PATCH 10/10] vfio: Enable DDW ioctls to VFIO IOMMU driver, Alexey Kardashevskiy, 2014/07/31
- [Qemu-devel] [RFC PATCH 04/10] spapr_iommu: Make spapr_tce_find_by_liobn() public, Alexey Kardashevskiy, 2014/07/31