discoverer: stop waiting for mDNS entries after we found one
Continually scanning runs into crashing problems.
Change-Id: Ieeccf4c6c9720e29be4eb44d771936fc33ab12f0
diff --git a/mdt/command.py b/mdt/command.py
index e0b16f7..ca2f7ea 100644
--- a/mdt/command.py
+++ b/mdt/command.py
@@ -55,6 +55,7 @@
while not self.address:
sleep(0.1)
+ self.discoverer.stop()
client = None
try:
print('Connecting to {0} at {1}'.format(self.device, self.address))
diff --git a/mdt/discoverer.py b/mdt/discoverer.py
index 87ae1c1..35a5005 100644
--- a/mdt/discoverer.py
+++ b/mdt/discoverer.py
@@ -26,7 +26,7 @@
self.zeroconf = Zeroconf()
self.discoveries = {}
self.listener = listener
- browser = ServiceBrowser(self.zeroconf, "_googlemdt._tcp.local.", self)
+ self.browser = ServiceBrowser(self.zeroconf, "_googlemdt._tcp.local.", self)
def add_service(self, zeroconf, type, name):
info = self.zeroconf.get_service_info(type, name)
@@ -42,3 +42,6 @@
if self.listener and hasattr(self.listener, "remove_device"):
self.listener.remove_device(info.server, self.discoveries[info.server])
del(self.discoveries[info.server])
+
+ def stop(self):
+ self.browser.cancel()