summaryrefslogtreecommitdiffstats
path: root/client/red_client.h
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2011-07-21 17:25:22 +0200
committerChristophe Fergeau <cfergeau@redhat.com>2011-07-22 10:24:30 +0200
commitfc2f7d14a27bf44866c6244c8c512fbfddbea677 (patch)
treebc82e982ec6102e7e20f7f4a5ac428cec146d74e /client/red_client.h
parentd81578ec0c4c5e19291fb3effa65762f5a75efc9 (diff)
downloadspice-fc2f7d14a27bf44866c6244c8c512fbfddbea677.tar.gz
spice-fc2f7d14a27bf44866c6244c8c512fbfddbea677.tar.xz
spice-fc2f7d14a27bf44866c6244c8c512fbfddbea677.zip
client: only send one SPICE_MSGC_MAIN_ATTACH_CHANNELS messages
492f7a9b fixed unwanted timeouts during initial client startup, but it also caused a bad regression when connecting to RHEL6+agent guests: the SPICE_MSGS_MAIN_ATTACH_CHANNELS message was sent multiple times, once in RedClient::handle_init, then once again in RedClient::on_agent_announce_capabilities (which can even be triggered multiple times). Sending this message multiple times is a big NO and causes the server to close the client connection, and the client to die. Add a _msg_attach_message_sent boolean to make sure we only send this message once. rhbz #712938
Diffstat (limited to 'client/red_client.h')
-rw-r--r--client/red_client.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/client/red_client.h b/client/red_client.h
index 7b04d083..7f5b5896 100644
--- a/client/red_client.h
+++ b/client/red_client.h
@@ -262,6 +262,7 @@ public:
void set_mm_time(uint32_t time);
uint32_t get_mm_time();
+ void send_main_attach_channels(void);
protected:
virtual void on_connecting();
@@ -321,6 +322,7 @@ private:
uint32_t _agent_reply_wait_type;
bool _aborting;
+ bool _msg_attach_channels_sent;
bool _agent_connected;
bool _agent_mon_config_sent;