Il 21/03/2013 13:07, Michael S. Tsirkin ha scritto:
Make sure object is valid when destructor is called.
"Make sure the object still has a canonical path while the unparent
callback is running".
Otherwise, the series looks good.
Paolo
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
---
qom/object.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/qom/object.c b/qom/object.c
index 3d638ff..a0e3cbe 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -363,12 +363,12 @@ static void object_property_del_child(Object *obj, Object *child,
Error **errp)
void object_unparent(Object *obj)
{
object_ref(obj);
- if (obj->parent) {
- object_property_del_child(obj->parent, obj, NULL);
- }
if (obj->class->unparent) {
(obj->class->unparent)(obj);
}
+ if (obj->parent) {
+ object_property_del_child(obj->parent, obj, NULL);
+ }
object_unref(obj);
}