Can't disconnect from Libervia
It's difficult to reproduce but in some cases, Libervia will believe that you are disconnected when you are not, then you can't disconnect... I think this can be fixed here in server.py:
def disconnected(self, profile):
if not profile in self.sat_host.prof_connected:
log.error("'disconnected' signal received for a not connected profile")
return
self.sat_host.prof_connected.remove(profile)
if profile in self.signalDeferred:
self.signalDeferred[profile].callback(("disconnected",))
del self.signalDeferred[profile]
else:
if profile not in self.queue:
self.queue[profile] = []
self.queue[profile].append(("disconnected",))
Remove the return statement and do this instead:
if not profile in self.sat_host.prof_connected:
log.error("'disconnected' signal received for a not connected profile")
else:
self.sat_host.prof_connected.remove(profile)
So you always try to fire the disconnected signal (and I believe that this is harmless).