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:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user