[Spice-devel] RedPipeItem lifespan, past, present and ... bug

Jonathon Jongsma jjongsma at redhat.com
Thu May 19 19:04:00 UTC 2016


On Thu, 2016-05-19 at 18:25 +0200, Christophe Fergeau wrote:
> Hey,
> 
> On Thu, May 19, 2016 at 06:14:52AM -0400, Frediano Ziglio wrote:
> > Possible future changes (please comment):
> > - would be good if red_channel_client_wait_pipe_item_sent could work even
> >   without the hold_item, one possible implementation is adding a fake
> > RedPipeItem
> >   which when removed will set a flag causing the loop to exit (better would
> > be
> >   to remove the function and implement this stuff in another way, there are
> > only
> >   a single call to make sure there are no pending drawing on a surface);
> 
> Yeah, I was wondering too if a fake pipe item could be used to be
> notified when the preceding pipe item has been sent.

With GObject, we could potentially add an "item-sent" signal that is emitted
whenever an item is sent. Then wait_pipe_item_sent() could run a loop while
handling this signal to and quit the loop when the appropriate item is sent? 

> 
> > - remove the RingItem and make possible to add the item to multiple clients,
> > this
> >   IMHO would make stuff much easier to understand;

yes.

> > - remove hold_item and use always red_pipe_item_ref;
> 
> Yup, I would do that, hold_item really looks like a convoluted _ref()
> used when not all pipe items had a refcount.

agreed

> 
> > - add another callback to RedPipeItem to send the item to make all send_item
> >   callbacks really small;
> 
> It probably makes sense too, maybe longer term. I don't think this
> is strictly related to the bug you discussed earlier though.

hmm, what would this new callback do? marshall the pipe item?

> 
> 
> > - remove atomic operation on RedPipeItem reference counter, I think was
> > added
> >   to make sure there was no thread issues but it's just slowing down big
> > servers
> >   with many cores.
> 
> Imo this would need to go with annotations saying in which thread the code
> is running (thinking about the display thread). Probably not a huge
> issue right now.
> 
> Christophe
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list