forked from platypush/platypush
Unregister a Zeroconf instance if it already exists before publishing a backend service.
`mdns` connection are another culprit for the increasing number of open files in the process.
This commit is contained in:
parent
33d4c8342d
commit
4972c8bdcf
2 changed files with 9 additions and 6 deletions
|
@ -402,6 +402,13 @@ class Backend(Thread, EventGenerator, ExtensionWithManifest):
|
|||
)
|
||||
return
|
||||
|
||||
if self.zeroconf:
|
||||
self.logger.info(
|
||||
'Zeroconf service already registered for %s, removing the previous instance',
|
||||
self.__class__.__name__,
|
||||
)
|
||||
self.unregister_service()
|
||||
|
||||
self.zeroconf = Zeroconf()
|
||||
srv_desc = {
|
||||
'name': 'Platypush',
|
||||
|
|
|
@ -46,9 +46,7 @@ class ZeroconfListener(ServiceListener):
|
|||
'properties': {
|
||||
k.decode()
|
||||
if isinstance(k, bytes)
|
||||
else k: v.decode()
|
||||
if isinstance(v, bytes)
|
||||
else v
|
||||
else k: (v.decode() if isinstance(v, bytes) else v)
|
||||
for k, v in info.properties.items()
|
||||
},
|
||||
'server': info.server,
|
||||
|
@ -166,9 +164,7 @@ class ZeroconfPlugin(Plugin):
|
|||
get_bus().post(evt)
|
||||
except queue.Empty:
|
||||
if not services:
|
||||
self.logger.warning(
|
||||
'No such service discovered: {}'.format(service)
|
||||
)
|
||||
self.logger.warning('No such service discovered: %s', service)
|
||||
finally:
|
||||
if browser:
|
||||
browser.cancel()
|
||||
|
|
Loading…
Reference in a new issue