[Spice-devel] [PATCH 09/15] worker: remove cursor channel asserts

Marc-André Lureau mlureau at redhat.com
Mon Nov 9 09:25:53 PST 2015



----- Original Message -----
> > 
> > From: Marc-André Lureau <marcandre.lureau at gmail.com>
> > 
> > ---
> >  server/cursor-channel.c | 6 +++---
> >  server/red_worker.c     | 2 --
> >  2 files changed, 3 insertions(+), 5 deletions(-)
> > 
> > diff --git a/server/cursor-channel.c b/server/cursor-channel.c
> > index 6d648b1..fc3a057 100644
> > --- a/server/cursor-channel.c
> > +++ b/server/cursor-channel.c
> > @@ -219,7 +219,7 @@ static void put_cursor_pipe_item(CursorChannelClient
> > *ccc, CursorPipeItem *pipe_
> >          return;
> >      }
> >  
> > -    spice_assert(!pipe_item_is_linked(&pipe_item->base));
> > +    spice_return_if_fail(!pipe_item_is_linked(&pipe_item->base));
> >  
> >      cursor_item_unref(pipe_item->cursor_item);
> >      free(pipe_item);
> > @@ -277,7 +277,7 @@ static void red_marshall_cursor_init(RedChannelClient
> > *rcc, SpiceMarshaller *bas
> >      SpiceMsgCursorInit msg;
> >      AddBufInfo info;
> >  
> > -    spice_assert(rcc);
> > +    spice_return_if_fail(rcc);
> >      cursor_channel = SPICE_CONTAINEROF(rcc->channel, CursorChannel,
> >      common.base);
> >  
> >      red_channel_client_init_send_data(rcc, SPICE_MSG_CURSOR_INIT, NULL);
> > @@ -410,7 +410,7 @@ static void
> > cursor_channel_release_item(RedChannelClient
> > *rcc, PipeItem *item, i
> >  {
> >      CursorChannelClient *ccc = RCC_TO_CCC(rcc);
> >  
> > -    spice_assert(item);
> > +    spice_return_if_fail(item);
> >  
> >      if (item_pushed) {
> >          cursor_channel_client_release_item_after_push(ccc, item);
> 
> Considering the default behavior of spice_return_if_fail is aborting
> like spice_assert I don't see the point of these changes.

The point is we should have less assert() in the code and be more resilient to memory allocation failures or wrong arguments received etc. Then the code should no longer assert() in return_if_fail().

> 
> > diff --git a/server/red_worker.c b/server/red_worker.c
> > index f70ee9b..10dfd8b 100644
> > --- a/server/red_worker.c
> > +++ b/server/red_worker.c
> > @@ -301,8 +301,6 @@ struct RedGlzDrawable {
> >  pthread_mutex_t glz_dictionary_list_lock = PTHREAD_MUTEX_INITIALIZER;
> >  Ring glz_dictionary_list = {&glz_dictionary_list, &glz_dictionary_list};
> >  
> > -#define NUM_CURSORS 100
> > -
> >  typedef struct RedWorker {
> >      pthread_t thread;
> >      clockid_t clockid;
> > --
> > 2.4.3
> > 
> 
> I'll split this last hunk in
> 
> "worker: remove unused NUM_CURSORS define" (and I'll ack this)
> 
> Frediano
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list