[Spice-devel] [PATCH] server: don't call reds_stream_free from worker thread context

Alon Levy alevy at redhat.com
Mon Sep 5 03:47:00 PDT 2011


On Mon, Sep 05, 2011 at 11:02:43AM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> >Hi,
> >RED_WORKER_MESSAGE_DISPLAY_DISCONNECT is not the only place that
> >triggers red_disconnect_channel (and as a result,
> >reds_stream_free(dispatcher->stream)). red_disconnect_channel is called
> >also when there is an error upon receive/send and also when timeouts
> >related to the client occur (e.g., in flush_display_commands).
> 
> Ok.
> 
> >We probably better make the dispatcher bi-directional, i.e., not only
> >push messages to the worker, but also listen.
> 
> That sounds like a non-trivial thing.
> 
> What does the master branch here btw?  I had a brief look and saw
> that the code looks quite different here (probably due to the
> multiclient work).
> 

I verified it still calls reds_stream_free from the worker thread, only
now the call itself is done in red_channel.c (via red_channel_disconnect
or something like that), which is called from red_worker.c

> cheers,
>   Gerd
> _______________________________________________
> 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