Skip to content

Commit 4ce33e4

Browse files
authored
Return early in the shutdown/close process (#632)
1 parent 64f6dd7 commit 4ce33e4

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

zeroconf/_core.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -147,13 +147,14 @@ async def _async_cache_cleanup(self) -> None:
147147

148148
def close(self) -> None:
149149
"""Close the engine."""
150-
if self._cache_cleanup_task:
151-
self._cache_cleanup_task.cancel()
152-
self._cache_cleanup_task = None
153150
for transport in itertools.chain(self.senders, self.readers):
154151
transport.close()
155152
for s in self._respond_sockets:
156153
s.close()
154+
if not self._cache_cleanup_task:
155+
return
156+
self._cache_cleanup_task.cancel()
157+
self._cache_cleanup_task = None
157158

158159

159160
class AsyncListener(asyncio.Protocol, QuietLogger):
@@ -592,10 +593,11 @@ def close(self) -> None:
592593
self.engine.close()
593594
# shutdown the rest
594595
self.notify_all()
595-
if self._loop_thread:
596-
assert self.loop is not None
597-
self.loop.call_soon_threadsafe(self.loop.stop)
598-
self._loop_thread.join()
596+
if not self._loop_thread:
597+
return
598+
assert self.loop is not None
599+
self.loop.call_soon_threadsafe(self.loop.stop)
600+
self._loop_thread.join()
599601

600602
def __enter__(self) -> 'Zeroconf':
601603
return self

0 commit comments

Comments
 (0)