Re: [PATCH 2/9] add spice_usb_device_manager shared CD related api functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Sat, Dec 7, 2019 at 12:20 PM Alexander Nezhinsky < anezhins@xxxxxxxxxx >
> wrote:

> > On Fri, Dec 6, 2019 at 12:04 PM Frediano Ziglio < fziglio@xxxxxxxxxx >
> > wrote:
> 

> > > > + bdev = spice_usb_device_manager_device_to_bdev(self, device);
> > 
> 

> > > see below
> > 
> 

> > > > +#ifdef USE_USBREDIR
> > 
> 
> > > > + SpiceUsbBackendDevice *bdev;
> > 
> 
> > > > + gboolean is_cd;
> > 
> 
> > > > +
> > 
> 
> > > > + bdev = spice_usb_device_manager_device_to_bdev(self, device);
> > 
> 

> > > Note that SpiceUsbBackendDevice is defined as
> > 
> 

> > > typedef struct _SpiceUsbDevice SpiceUsbBackendDevice;
> > 
> 

> > > no need to call this function.
> > 
> 

> > I agree with Yuri. This is the current practice in all API functions.
> 
> > We can rework it everywhere, or leave it as is.
> 

> I looked at it just an inch deeper and saw that the function
> spice_usb_device_manager_device_to_bdev actually increments the reference of
> the device object.
> So it seems to be necessary and the change would require rework of some
> further logic, i guess.
> In view of the fact that the struct is the same, we could change the name of
> the functions to reflect the refcounting, like:
> spice_usb_device_manager_get_bdev_device() or just
> spice_usb_device_manager_get_device()
> What do you think?

I was thinking something more "strong", like removing it entirely,
see https://gitlab.freedesktop.org/fziglio/spice-gtk/commits/no_bdev
(last 3 commits).

Frediano

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel



[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]