change --idle-timeout to reset the idle timeout when active

This commit is contained in:
Aric Stewart 2012-08-31 10:55:24 -05:00
parent 9348dd5208
commit 82cb31f3b6
1 changed files with 13 additions and 5 deletions

View File

@ -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()