Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/p2p
diff options
context:
space:
mode:
authorMarco 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)
commit53f7cc1f343e9f54bd61f92d434a9e700e7aa160 (patch)
tree63776f71947dff376f78c0593850480d2d7f577f /sugar/p2p
parentd65e8b88e70350b24fd482946a47d6d418995f75 (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.py11
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)