Message ID | 20200110153039.1379601-19-marcandre.lureau@redhat.com |
---|---|
State | New |
Headers | show |
Series | Various qom & qdev enhancements | expand |
On 1/10/20 4:30 PM, Marc-André Lureau wrote: > This allow for simpler assignment with ref: foo = object_ref(bar) > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > include/qom/object.h | 3 ++- > qom/object.c | 5 +++-- > 2 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/include/qom/object.h b/include/qom/object.h > index ead9129ac8..933e5c6cb9 100644 > --- a/include/qom/object.h > +++ b/include/qom/object.h > @@ -1013,8 +1013,9 @@ GSList *object_class_get_list_sorted(const char *implements_type, > * > * Increase the reference count of a object. A object cannot be freed as long > * as its reference count is greater than zero. > + * Returns: @obj > */ > -void object_ref(Object *obj); > +Object *object_ref(Object *obj); > > /** > * object_unref: > diff --git a/qom/object.c b/qom/object.c > index 3924678ec3..9f76a330ff 100644 > --- a/qom/object.c > +++ b/qom/object.c > @@ -1098,12 +1098,13 @@ GSList *object_class_get_list_sorted(const char *implements_type, > object_class_cmp); > } > > -void object_ref(Object *obj) > +Object *object_ref(Object *obj) > { > if (!obj) { > - return; > + return NULL; > } > atomic_inc(&obj->ref); > + return obj; > } > > void object_unref(Object *obj) >
diff --git a/include/qom/object.h b/include/qom/object.h index ead9129ac8..933e5c6cb9 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1013,8 +1013,9 @@ GSList *object_class_get_list_sorted(const char *implements_type, * * Increase the reference count of a object. A object cannot be freed as long * as its reference count is greater than zero. + * Returns: @obj */ -void object_ref(Object *obj); +Object *object_ref(Object *obj); /** * object_unref: diff --git a/qom/object.c b/qom/object.c index 3924678ec3..9f76a330ff 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1098,12 +1098,13 @@ GSList *object_class_get_list_sorted(const char *implements_type, object_class_cmp); } -void object_ref(Object *obj) +Object *object_ref(Object *obj) { if (!obj) { - return; + return NULL; } atomic_inc(&obj->ref); + return obj; } void object_unref(Object *obj)
This allow for simpler assignment with ref: foo = object_ref(bar) Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> --- include/qom/object.h | 3 ++- qom/object.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-)