From a32e90257e834e340075e633132b52c612be4578 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Sun, 3 Jul 2011 18:56:33 +0200 Subject: server/red_worker: multiple client support - base split This patch compiles but breaks spice. Split both display and cursor channels to a client part and channel part. Introduce DisplayChannelClient, CursorChannelClient, CommonChannelClient. don't disconnect channel on client disconnect. Move all caches to the ChannelClient's. Remove reference counting of the channel. No new functionality introduced. NOTE: Introduces a crash in disconnections, a regression, resulting from incorrect thread access, that is fixed in the patch titled: "server: registering RedChannel in reds, instead of Channel" --- server/red_channel.c | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'server/red_channel.c') diff --git a/server/red_channel.c b/server/red_channel.c index eab1384..43b5788 100644 --- a/server/red_channel.c +++ b/server/red_channel.c @@ -847,23 +847,11 @@ void red_channel_client_ack_zero_messages_window(RedChannelClient *rcc) rcc->ack_data.messages_window = 0; } -void red_channel_ack_zero_messages_window(RedChannel *channel) -{ - red_channel_client_ack_zero_messages_window(channel->rcc); -} - void red_channel_client_ack_set_client_window(RedChannelClient *rcc, int client_window) { rcc->ack_data.client_window = client_window; } -void red_channel_ack_set_client_window(RedChannel* channel, int client_window) -{ - if (channel->rcc) { - red_channel_client_ack_set_client_window(channel->rcc, client_window); - } -} - static void red_channel_client_remove(RedChannelClient *rcc) { ring_remove(&rcc->client_link); -- cgit v1.2.3