Re: [spice-gtk PATCH v5 1/6] giopipe: don't fail on create_source

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

 



Hi,

> > +static GList *
> > +set_all_sources_ready (GList *sources)
> > +{
> > +    GList *it = sources;
> > +    while (it != NULL) {
> > +        GSource *s = it->data;
> > +        GList *next = it->next;
> > +
> > +        if (s == NULL || g_source_is_destroyed(s)) {
> > +            /* remove */
> > +            sources = g_list_delete_link(sources, it);
> > +            g_clear_pointer(&s, g_source_unref);
> > +        } else {
> > +            /* dispatch */
> > +            g_source_set_ready_time(s, 0);
> > +        }
> > +        it = next;
> > +    }
> > +    return sources;
> > +}
> > +
> >  static void
> >  pipe_input_stream_check_source (PipeInputStream *self)
> >  {
> > -    if (self->source && !g_source_is_destroyed(self->source) &&
> > +    GSource *source;
> > +
> > +    if (self->sources == NULL)
> > +        return;
> > +
> > +    source = self->sources->data;
> > +    if (source && !g_source_is_destroyed(source) &&
> >          g_pollable_input_stream_is_readable(G_POLLABLE_INPUT_STREAM(self)))
> > -        g_source_set_ready_time(self->source, 0);
> > +        self->sources = set_all_sources_ready(self->sources);
>
> No idea why you check the first source here. I think the function could be just like:
>
> if (g_pollable_input_stream_is_readable(G_POLLABLE_INPUT_STREAM(self)))
>    self->sources = set_all_sources_ready(self->sources)
>

That's true. I'll try to be more careful. Do you want a new version or
the patch (with this change) is in acceptable state?

Thanks,

> > @@ -330,9 +347,14 @@ pipe_output_stream_dispose(GObject *object)
> >  static void
> >  pipe_output_stream_check_source (PipeOutputStream *self)
> >  {
> > -    if (self->source && !g_source_is_destroyed(self->source) &&
> > +    GSource * source;
> > +    if (self->sources == NULL)
> > +        return;
> > +
> > +    source = self->sources->data;
> > +    if (source && !g_source_is_destroyed(source) &&
> >          g_pollable_output_stream_is_writable(G_POLLABLE_OUTPUT_STREAM(self)))
> > -        g_source_set_ready_time(self->source, 0);
> > +        self->sources = set_all_sources_ready(self->sources);
>
> same here

I"ll change as well!
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel





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