On Wed, Sep 23, 2015 at 3:00 PM, Daniel P. Berrange <berrange@xxxxxxxxxx> 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@xxxxxxxxxx> 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/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list