diff mbox series

[18/26] object: return self in object_ref()

Message ID 20200110153039.1379601-19-marcandre.lureau@redhat.com
State New
Headers show
Series Various qom & qdev enhancements | expand

Commit Message

Marc-André Lureau Jan. 10, 2020, 3:30 p.m. UTC
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(-)

Comments

Philippe Mathieu-Daudé Jan. 10, 2020, 7:22 p.m. UTC | #1
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 mbox series

Patch

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)