[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, 05 Sep 2011 11:02:43 +0200
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:220.127.116.11) Gecko/20110830 Red Hat/3.1.12-2.el6_1 Thunderbird/3.1.12
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).