From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:48096) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R0V4s-00009k-5C for qemu-devel@nongnu.org; Mon, 05 Sep 2011 05:02:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R0V4r-0007kq-2B for qemu-devel@nongnu.org; Mon, 05 Sep 2011 05:02:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52763) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R0V4q-0007km-Q3 for qemu-devel@nongnu.org; Mon, 05 Sep 2011 05:02:49 -0400 Message-ID: <4E649033.2040105@redhat.com> Date: Mon, 05 Sep 2011 11:02:43 +0200 From: Gerd Hoffmann MIME-Version: 1.0 References: <1314976794-31931-1-git-send-email-kraxel@redhat.com> <4E633A37.40208@redhat.com> In-Reply-To: <4E633A37.40208@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Spice-devel] [PATCH] server: don't call reds_stream_free from worker thread context List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Yonit Halperin Cc: qemu-devel@nongnu.org, spice-devel@freedesktop.org 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). cheers, Gerd