From 82cb31f3b68a8cada4c2f46b97b5c6c85c9d5994 Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Fri, 31 Aug 2012 10:55:24 -0500 Subject: [PATCH] change --idle-timeout to reset the idle timeout when active --- websocket.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/websocket.py b/websocket.py index cbca3bb..4c0cacc 100644 --- a/websocket.py +++ b/websocket.py @@ -832,6 +832,7 @@ Sec-WebSocket-Accept: %s\r # os.fork() (python 2.4) child reaper signal.signal(signal.SIGCHLD, self.fallback_SIGCHLD) + last_active_time = self.launch_time while True: try: try: @@ -849,11 +850,18 @@ Sec-WebSocket-Accept: %s\r % self.timeout) break - if self.idle_timeout and time_elapsed > self.idle_timeout \ - and child_count == 0: - self.msg('listener exit due to --idle-timeout %s' - % self.idle_timeout) - break + if self.idle_timeout: + idle_time = 0 + if child_count == 0: + idle_time = time.time() - last_active_time + else: + idle_time = 0 + last_active_time = time.time() + + if idle_time > self.idle_timeout and child_count == 0: + self.msg('listener exit due to --idle-timeout %s' + % self.idle_timeout) + break try: self.poll()