From 6d5fb70ddfe78723c6222f4147b3c20d3d138441 Mon Sep 17 00:00:00 2001 From: juanmb Date: Wed, 2 Oct 2013 22:39:11 +0200 Subject: [PATCH] fixed #53 --- websocket.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/websocket.py b/websocket.py index 0aa56da..17bc64e 100644 --- a/websocket.py +++ b/websocket.py @@ -820,8 +820,11 @@ class WebSocketApp(object): self.sock.close() def _send_ping(self, interval): - while self.keep_running: - time.sleep(interval) + while True: + for i in range(interval): + time.sleep(1) + if not self.keep_running: + return self.sock.ping() def run_forever(self, sockopt=None, sslopt=None, ping_interval=0): @@ -862,6 +865,7 @@ class WebSocketApp(object): self._callback(self.on_error, e) finally: if thread: + self.keep_running = False thread.join() self.sock.close() self._callback(self.on_close)