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
This commit is contained in:
Jamie Doornbos
2009-01-13 22:33:56 +00:00
parent 96fb4752b3
commit a99489e650
@@ -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();