From a99489e650c0dbdcb3c98182aea97efe2156e0ab Mon Sep 17 00:00:00 2001 From: Jamie Doornbos Date: Tue, 13 Jan 2009 22:33:56 +0000 Subject: [PATCH] Aha! Fixed race condition in narya fundamentals introduced with guice (r5153). This was causing a very rare concurrent modification exception when a client would log on when another one was about to expire. The problem was revealed by the trace in the msoy log of the 2009/01/10. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5632 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- src/java/com/threerings/presents/server/ClientManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/java/com/threerings/presents/server/ClientManager.java b/src/java/com/threerings/presents/server/ClientManager.java index 7a5c274f4..d49fcfa79 100644 --- a/src/java/com/threerings/presents/server/ClientManager.java +++ b/src/java/com/threerings/presents/server/ClientManager.java @@ -97,14 +97,15 @@ public class ClientManager /** * Constructs a client manager that will interact with the supplied connection manager. */ - @Inject public ClientManager (ReportManager repmgr, ShutdownManager shutmgr) + @Inject public ClientManager ( + ReportManager repmgr, ShutdownManager shutmgr, PresentsDObjectMgr omgr) { repmgr.registerReporter(this); shutmgr.registerShutdowner(this); // start up an interval that will check for expired clients and flush them from the bowels // of the server - new Interval(_omgr) { + new Interval(omgr) { @Override public void expired () { flushClients();