diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-09-12 11:21:18 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-09-12 11:21:18 (GMT) |
commit | 53f7cc1f343e9f54bd61f92d434a9e700e7aa160 (patch) | |
tree | 63776f71947dff376f78c0593850480d2d7f577f /sugar/p2p | |
parent | d65e8b88e70350b24fd482946a47d6d418995f75 (diff) |
Cleanup browser model service on destroy.
Remove the activity service even if the owner is gone.
Diffstat (limited to 'sugar/p2p')
-rw-r--r-- | sugar/p2p/model/LocalModel.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sugar/p2p/model/LocalModel.py b/sugar/p2p/model/LocalModel.py index b19e07e..0053aee 100644 --- a/sugar/p2p/model/LocalModel.py +++ b/sugar/p2p/model/LocalModel.py @@ -37,13 +37,16 @@ class LocalModel(AbstractModel): self._notifier.notify(key) def _setup_service(self): - service = self._pservice.share_activity(self._activity, - stype = LocalModel.SERVICE_TYPE) - self._setup_server(service) - + self._service = self._pservice.share_activity( + self._activity, stype = LocalModel.SERVICE_TYPE) + self._setup_server(self._service) + # FIXME this is duplicated with StreamReader def _setup_server(self, service): port = service.get_port() logging.debug('Start model server on port %d' % (port)) p2p_server = network.GlibXMLRPCServer(("", port)) p2p_server.register_instance(ModelRequestHandler(self)) + + def shutdown(self): + self._pservice.unregister_service(self._service) |