On 16 February 2017 at 13:57, Igor Mammedov <imamm...@redhat.com> wrote:
> object_new(FOO) returns an object with ref_cnt == 1
> and following
>   object_property_set_bool(cpuobj, true, "realized", NULL)
> set parent of cpuobj to '/machine/unattached' which makes
> ref_cnt == 2.
>
> Since machvirt_init() doesn't take ownership of cpuobj
> returned by object_new() it should explicitly drop
> reference to cpuobj when dangling pointer is about to
> go out of scope like it's done pc_new_cpu() to avoid
> object leak.

I've always found the object reference semantics somewhat
confusing (why does realizing a device add a reference,
for instance?). Do we document them anywhere?

thanks
-- PMM

Reply via email to