[Spice-devel] [spice-html5] Ack every message.
Jeremy White
jwhite at codeweavers.com
Tue Aug 27 15:51:32 PDT 2013
The failure to ack pings led to a nasty bug whereby an inactive client hangs.
The relatively recent change to monitor latency with ping exposed this bug.
Signed-off-by: Jeremy White <jwhite at codeweavers.com>
---
spiceconn.js | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/spiceconn.js b/spiceconn.js
index 494810e..318e9ae 100644
--- a/spiceconn.js
+++ b/spiceconn.js
@@ -318,20 +318,18 @@ SpiceConn.prototype =
var rc;
DEBUG > 0 && console.log("<< hdr " + this.channel_type() + " type " + msg.type + " size " + (msg.data && msg.data.byteLength));
rc = this.process_common_messages(msg);
- if (rc)
- return rc;
-
- if (this.process_channel_message)
- rc = this.process_channel_message(msg);
- else
+ if (! rc)
{
- this.log_err(this.type + ": No message handlers for this channel; message " + msg.type);
- return false;
+ if (this.process_channel_message)
+ {
+ rc = this.process_channel_message(msg);
+ if (! rc)
+ this.log_warn(this.type + ": Unknown message type " + msg.type + "!");
+ }
+ else
+ this.log_err(this.type + ": No message handlers for this channel; message " + msg.type);
}
- if (! rc)
- this.log_warn(this.type + ": Unknown message type " + msg.type + "!");
-
if (this.msgs_until_ack !== undefined && this.ack_window)
{
this.msgs_until_ack--;
--
1.7.10.4
More information about the Spice-devel
mailing list