[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v3 02/18] qom: Make object_child_foreach safe fo
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-devel] [RFC PATCH v3 02/18] qom: Make object_child_foreach safe for objects removal |
Date: |
Fri, 29 Aug 2014 20:12:06 +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 1b00831..012548c 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -668,10 +668,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 v3 01/18] spapr: Make machine naming conventions closer to those for PC, (continued)
- [Qemu-devel] [RFC PATCH v3 01/18] spapr: Make machine naming conventions closer to those for PC, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 05/18] spapr_vio: Introduce a liobn number generating macros, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 03/18] spapr_iommu: Disable in-kernel IOMMU tables for >4GB windows, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 07/18] spapr_iommu: Make spapr_tce_find_by_liobn() public, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 04/18] spapr_pci: Introduce a liobn number generating macros, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 08/18] spapr_iommu: Implement free_table() helper, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 09/18] spapr_rtas: Reserve DDW RTAS token numbers, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 17/18] vfio: Enable DDW ioctls to VFIO IOMMU driver, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 11/18] spapr_pci: Add windows counter, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 06/18] spapr_pci: Make find_phb()/find_dev() public, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 02/18] qom: Make object_child_foreach safe for objects removal,
Alexey Kardashevskiy <=
- [Qemu-devel] [RFC PATCH v3 12/18] spapr_rtas: Add Dynamic DMA windows (DDW) RTAS calls support, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 14/18] spapr_pci_vfio: Call spapr_pci::reset on reset, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 10/18] spapr_pci: Define DDW callbacks, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 18/18] spapr: Add pseries-2.2 machine, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 16/18] spapr_pci_vfio: Enable DDW, Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 15/18] linux headers update for SPAPR (DDW + EEH), Alexey Kardashevskiy, 2014/08/29
- [Qemu-devel] [RFC PATCH v3 13/18] spapr_pci: Enable DDW, Alexey Kardashevskiy, 2014/08/29