summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2011-08-23 14:00:11 +0300
committerAlon Levy <alevy@redhat.com>2011-08-23 18:29:45 +0300
commitf15cac7d7d757fed2a8ce36e8800616e905b128c (patch)
treefd34cf5e434926631c8b5e9310fa240eaf13a73a /server
parent0410cccde378cb418281560d47940a3e7100a3c4 (diff)
downloadspice-f15cac7d7d757fed2a8ce36e8800616e905b128c.tar.gz
spice-f15cac7d7d757fed2a8ce36e8800616e905b128c.tar.xz
spice-f15cac7d7d757fed2a8ce36e8800616e905b128c.zip
server/reds: fix reds_main_channel_connected
instead of checking just for reds->main_channel check that there is at least one client as well.
Diffstat (limited to 'server')
-rw-r--r--server/main_channel.c5
-rw-r--r--server/main_channel.h1
-rw-r--r--server/reds.c2
3 files changed, 7 insertions, 1 deletions
diff --git a/server/main_channel.c b/server/main_channel.c
index e793e489..43c0f3f2 100644
--- a/server/main_channel.c
+++ b/server/main_channel.c
@@ -155,6 +155,11 @@ enum NetTestStage {
NET_TEST_STAGE_RATE,
};
+int main_channel_is_connected(MainChannel *main_chan)
+{
+ return red_channel_is_connected(&main_chan->base);
+}
+
// when disconnection occurs, let reds shutdown all channels. This will trigger the
// real disconnection of main channel
static void main_channel_client_on_disconnect(RedChannelClient *rcc)
diff --git a/server/main_channel.h b/server/main_channel.h
index 80475354..713bcd09 100644
--- a/server/main_channel.h
+++ b/server/main_channel.h
@@ -80,6 +80,7 @@ uint32_t main_channel_client_get_link_id(MainChannelClient *mcc);
int main_channel_client_is_low_bandwidth(MainChannelClient *mcc);
uint64_t main_channel_client_get_bitrate_per_sec(MainChannelClient *mcc);
+int main_channel_is_connected(MainChannel *main_chan);
// TODO: Defines used to calculate receive buffer size, and also by reds.c
// other options: is to make a reds_main_consts.h, to duplicate defines.
diff --git a/server/reds.c b/server/reds.c
index c6528e90..f629471b 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -601,7 +601,7 @@ static void reds_reset_vdp()
static int reds_main_channel_connected(void)
{
- return !!reds->main_channel;
+ return main_channel_is_connected(reds->main_channel);
}
void reds_client_disconnect(RedClient *client)