From ab29481f262e55b01453fb82c4d44b8f7b0ebf5f Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Thu, 22 Mar 2007 00:46:37 +0000 Subject: [PATCH] We need to be shutdown now so that we can clean up our invocation service. git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@259 c613c5cb-e716-0410-b11b-feb51c14d237 --- .../micasa/lobby/table/TableLobbyManager.java | 8 ++++++++ .../com/threerings/parlor/server/TableManager.java | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/java/com/threerings/micasa/lobby/table/TableLobbyManager.java b/src/java/com/threerings/micasa/lobby/table/TableLobbyManager.java index 46101463..703972ad 100644 --- a/src/java/com/threerings/micasa/lobby/table/TableLobbyManager.java +++ b/src/java/com/threerings/micasa/lobby/table/TableLobbyManager.java @@ -38,6 +38,14 @@ public class TableLobbyManager extends LobbyManager _tmgr = new TableManager(getPlaceObject()); } + // documentation inherited + protected void didShutdown () + { + super.didShutdown(); + // clean up our table manager + _tmgr.shutdown(); + } + // documentation inherited protected PlaceObject createPlaceObject () { diff --git a/src/java/com/threerings/parlor/server/TableManager.java b/src/java/com/threerings/parlor/server/TableManager.java index c9544779..ebe1bf08 100644 --- a/src/java/com/threerings/parlor/server/TableManager.java +++ b/src/java/com/threerings/parlor/server/TableManager.java @@ -81,6 +81,18 @@ public class TableManager } } + /** + * This must be called when the table manager is no longer needed. + */ + public void shutdown () + { + CrowdServer.invmgr.clearDispatcher(_tlobj.getTableService()); + _tlobj.setTableService(null); + if (_dobj instanceof PlaceObject) { + _dobj.removeListener(this); + } + } + /** * Set the subclass of Table that this instance should generate. */