From bc0b47e59803c471a9be489ca8ed280183fa90cb Mon Sep 17 00:00:00 2001 From: veawor Date: Tue, 3 Nov 2015 16:54:38 +0800 Subject: [PATCH] wait for the termination of the threads before closing the sockets. this prevent the threads from using closed sockets. --- zeroconf.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zeroconf.py b/zeroconf.py index 2d67563e..ac363008 100644 --- a/zeroconf.py +++ b/zeroconf.py @@ -1038,6 +1038,7 @@ def enqueue_callback(state_change, name): def cancel(self): self.done = True self.zc.notify_all() + self.join() def run(self): while True: @@ -1675,5 +1676,7 @@ def close(self): self.notify_all() self.engine.notify() self.unregister_all_services() + self.reaper.join() + self.engine.join() for s in [self._listen_socket] + self._respond_sockets: s.close()