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 <jwh...@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

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to