From 3d1eb63023635dcf35421d40fa96e8c888bc67c3 Mon Sep 17 00:00:00 2001 From: Vitor de Miranda Henrique Date: Thu, 27 Dec 2018 23:11:37 -0600 Subject: [PATCH] Update dhcp.py Fix issue where DelayWorker would week the server to close if the queue is empty. --- server/dhcp.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/server/dhcp.py b/server/dhcp.py index dc12079..36dc00e 100644 --- a/server/dhcp.py +++ b/server/dhcp.py @@ -121,16 +121,17 @@ def __init__(self): def _delay_response_thread(self): while not self.closed: - p = self.queue.get() if self.closed: break - t, func, args, kw = p - now = time.time() - if now < t: - time.sleep(0.01) - self.queue.put(p) - else: - func(*args, **kw) + if not self.queue.empty(): + p = self.queue.get() + t, func, args, kw = p + now = time.time() + if now < t: + time.sleep(0.01) + self.queue.put(p) + else: + func(*args, **kw) def do_after(self, seconds, func, args = (), kw = {}): self.queue.put((time.time() + seconds, func, args, kw))