[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Spice-devel] [PATCH] server: don't call reds_stream_fr
Re: [Qemu-devel] [Spice-devel] [PATCH] server: don't call reds_stream_free from worker thread context
Mon, 5 Sep 2011 13:47:00 +0300
On Mon, Sep 05, 2011 at 11:02:43AM +0200, Gerd Hoffmann wrote:
> >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).
> >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
> Spice-devel mailing list