From 3de182a4edb25bf2665dd770eb6c0c220f9b1077 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Sat, 2 Dec 2017 15:31:36 +0100 Subject: [PATCH] Rev3157, Fix websocket utf8 error when requesting files from different sites at the same time --- src/Config.py | 2 +- src/Ui/UiWebsocket.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Config.py b/src/Config.py index 91685fb0..51f147b4 100644 --- a/src/Config.py +++ b/src/Config.py @@ -10,7 +10,7 @@ class Config(object): def __init__(self, argv): self.version = "0.6.0" - self.rev = 3155 + self.rev = 3157 self.argv = argv self.action = None self.config_file = "zeronet.conf" diff --git a/src/Ui/UiWebsocket.py b/src/Ui/UiWebsocket.py index 104c7380..bd6836e6 100644 --- a/src/Ui/UiWebsocket.py +++ b/src/Ui/UiWebsocket.py @@ -31,7 +31,7 @@ class UiWebsocket(object): self.next_message_id = 1 self.waiting_cb = {} # Waiting for callback. Key: message_id, Value: function pointer self.channels = [] # Channels joined to - self.sending = False # Currently sending to client + self.state = {"sending": False} # Currently sending to client self.send_queue = [] # Messages to send to client self.admin_commands = ( "sitePause", "siteResume", "siteDelete", "siteList", "siteSetLimit", @@ -191,14 +191,15 @@ class UiWebsocket(object): if cb: # Callback after client responded self.waiting_cb[message["id"]] = cb self.send_queue.append(message) - if self.sending: + if self.state["sending"]: return # Already sending try: while self.send_queue: - self.sending = True + s = time.time() + self.state["sending"] = True message = self.send_queue.pop(0) self.ws.send(json.dumps(message)) - self.sending = False + self.state["sending"] = False except Exception, err: self.log.debug("Websocket send error: %s" % Debug.formatException(err))