[libvirt] [libvirt-glib] gobject: Correct docs for gvir_storage_pool_get_info()

Zeeshan Ali (Khattak) zeeshanak at gnome.org
Wed Sep 23 18:03:26 UTC 2015


On Wed, Sep 23, 2015 at 3:00 PM, Daniel P. Berrange <berrange at redhat.com> wrote:
> On Wed, Sep 23, 2015 at 02:54:51PM +0100, Zeeshan Ali (Khattak) wrote:
>> On Wed, Sep 23, 2015 at 2:18 PM, Daniel P. Berrange <berrange at redhat.com> wrote:
>> > On Wed, Sep 23, 2015 at 01:44:28PM +0100, Zeeshan Ali (Khattak) wrote:
>> >> The returned GVirStoragePoolInfo pointer is not a GObject so it must not
>> >> be unrefed using g_object_unref(). Since gvir_storage_pool_info_free()
>> >> is private function, callers must either use g_slice_free() or
>> >> g_boxed_free().
>> >> ---
>> >>
>> >> Perhaps we should just make gvir_storage_pool_info_free() public instead?
>> >>
>> >>  libvirt-gobject/libvirt-gobject-storage-pool.c | 4 ++--
>> >>  1 file changed, 2 insertions(+), 2 deletions(-)
>> >>
>> >> diff --git a/libvirt-gobject/libvirt-gobject-storage-pool.c b/libvirt-gobject/libvirt-gobject-storage-pool.c
>> >> index 7f26b1b..f015efa 100644
>> >> --- a/libvirt-gobject/libvirt-gobject-storage-pool.c
>> >> +++ b/libvirt-gobject/libvirt-gobject-storage-pool.c
>> >> @@ -277,8 +277,8 @@ GVirConfigStoragePool *gvir_storage_pool_get_config(GVirStoragePool *pool,
>> >>   * @pool: the storage_pool
>> >>   * @err: Place-holder for possible errors
>> >>   *
>> >> - * Returns: (transfer full): the info. The returned object should be
>> >> - * unreffed with g_object_unref() when no longer needed.
>> >> + * Returns: (transfer full): the info. The returned pointer should be
>> >> + * freed using either #g_slice_free() or #g_boxed_free() when no longer needed.
>> >>   */
>> >>  GVirStoragePoolInfo *gvir_storage_pool_get_info(GVirStoragePool *pool,
>> >>                                                  GError **err)
>> >
>> > ACK
>>
>> Thanks but just to be sure, I hope you didn't miss the details and
>> this comment below it:
>>
>> > Perhaps we should just make gvir_storage_pool_info_free() public instead?
>
> Since we've defined it as a boxed type, I think recommending g_boxed_free
> is the right solution.

It's just that it's slightly awkward to use that, since you need to
pass it the gtype, not just the pointer.

> We should make sure our docs actually tell people
> this is a boxed type if they don't already :-)
>
> We should *not* in fact recommend  g_slice_free(), as the use of the slice
> allocator is an internal implementation detail. We should be free to change
> to use a different allocator without breaking clients.

Sure, I pushed with g_slice_free() mention removed.

-- 
Regards,

Zeeshan Ali (Khattak)
________________________________________
Befriend GNOME: http://www.gnome.org/friends/




More information about the libvir-list mailing list