[Spice-devel] [PATCH spice-gtk 08/14] usb: remove useless device ref/unref

Marc-André Lureau marcandre.lureau at gmail.com
Mon Apr 28 07:49:59 PDT 2014


On Mon, Apr 28, 2014 at 4:42 PM, Uri Lublin <uril at redhat.com> wrote:

> On 04/28/2014 03:49 PM, Marc-André Lureau wrote:
>
>>
>> ----- Original Message -----
>>
>>> On 04/23/2014 09:09 PM, Marc-André Lureau wrote:
>>>
>>>> A code doing an unref() on an object just before manipulating it looks
>>>> horribly suspicious...
>>>>
>>> Suspicious indeed.
>>>
>>> But probably it's better to move the unref below instead of removing the
>>> ref/unref (see below).
>>>
>>> A device is ref'ed when install/uninstall starts and is unref'ed when
>>> install/uninstall finishes.
>>>
>>> Possibly during install the ref is not needed (as there is another ref
>>> for the redir operation),
>>> but I think it is needed during uninstall.
>>>
>>>  It wasn't needed until now (or we would have had crashes before), why
>> would it be now?
>>
>
> Generally, no crashes does not mean ref/unref are not needed.



When I read this code:

@@ -1122,7 +1120,6 @@ static void spice_usb_device_manager_drv_
uninstall_cb(GObject *gobject,
         g_clear_error(&err);
     }

-    spice_usb_device_unref(cbinfo->device);
     spice_usb_device_set_state(cbinfo->device,
SPICE_USB_DEVICE_STATE_NONE);

It seems pretty clear that this cbinfo ref wasn't involved to keep the
device alive (same fo the install case).

-- 
Marc-André Lureau
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20140428/e6216438/attachment.html>


More information about the Spice-devel mailing list