[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/5] qom/object: Add a new function object_initi
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 1/5] qom/object: Add a new function object_initialize_as_child() |
Date: |
Fri, 13 Jul 2018 12:12:27 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
On 13/07/2018 09:57, Thomas Huth wrote:
> Since we are in hard freeze already, I'd rather prefer to keep it
> simple, without the variable args for now (we don't need them yet).
> Especially since we can easily add them later when we need them,
> changing the prototype from
>
> void object_initialize_child(Object *parentobj, const char *propname,
> void *childobj, size_t size,
> const char *type, Error **errp);
>
> to
>
> void object_initialize_child(Object *parentobj, const char *propname,
> void *childobj, size_t size,
> const char *type, Error **errp, ...);
>
> should not affect any of the existing caller sites later.
>
> And yes, I think these functions should have "child" in their names, so
> I'll continue with object_initialize_child now. Renaming
> object_new_with_props to object_new_child also sounds like a good idea
> to me, but that's something for the time when the hard freeze is over.
It's true that we are in hard freeze, but now that I've noticed the
parallel with object_new_with_props, it seems to me that making the
functions subtly different (in naming or functionality) is just being
sloppy. A search-and-replace patch is acceptable for hard freeze if
there is a good reason for it, and the rest is just copying code from
object_new_with_props into the no-malloc version. The variable
arguments are handled simply by
if (object_set_propv(obj, &local_err, vargs) < 0) {
goto error;
}
and another thing to do is
if (object_dynamic_cast(obj, TYPE_USER_CREATABLE)) {
user_creatable_complete(obj, &local_err);
if (local_err) {
object_unparent(obj);
goto error;
}
}
which is included in object_new_with_propv.
Thanks,
Paolo
- [Qemu-devel] [PATCH 2/5] hw/core/sysbus: Add a function for creating and attaching an object, (continued)
Re: [Qemu-devel] [PATCH 1/5] qom/object: Add a new function object_initialize_as_child(), Eduardo Habkost, 2018/07/12
[Qemu-devel] [PATCH 4/5] hw/arm/armv7: Fix crash when introspecting the "iotkit" device, Thomas Huth, 2018/07/12
[Qemu-devel] [PATCH 5/5] hw/cpu/a15mpcore: Fix introspection problem with the a15mpcore_priv device, Thomas Huth, 2018/07/12
Re: [Qemu-devel] [PATCH v1 0/5] Fix crashes with introspection, Paolo Bonzini, 2018/07/12
Re: [Qemu-devel] [PATCH v1 0/5] Fix crashes with introspection, Peter Maydell, 2018/07/12