Use a repeat call tracker which will properly report stack traces on any
repeat calls. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3072 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: GameManager.java,v 1.72 2004/07/10 01:32:54 mdb Exp $
|
// $Id: GameManager.java,v 1.73 2004/08/13 21:18:39 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.parlor.game;
|
package com.threerings.parlor.game;
|
||||||
|
|
||||||
@@ -8,6 +8,7 @@ import java.util.Arrays;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
import com.samskivert.util.IntervalManager;
|
import com.samskivert.util.IntervalManager;
|
||||||
|
import com.samskivert.util.RepeatCallTracker;
|
||||||
import com.samskivert.util.StringUtil;
|
import com.samskivert.util.StringUtil;
|
||||||
import com.threerings.util.Name;
|
import com.threerings.util.Name;
|
||||||
|
|
||||||
@@ -657,12 +658,11 @@ public class GameManager extends PlaceManager
|
|||||||
public void endGame ()
|
public void endGame ()
|
||||||
{
|
{
|
||||||
// TEMP: debug pending rating repeat bug
|
// TEMP: debug pending rating repeat bug
|
||||||
if (_gameEndTrace != null) {
|
if (_gameEndTracker.checkCall(
|
||||||
Log.warning("Requested to end already ended game " +
|
"Requested to end already ended game " +
|
||||||
"[game=" + _gameobj.which() + "].");
|
"[game=" + _gameobj.which() + "].")) {
|
||||||
Thread.dumpStack();
|
return;
|
||||||
}
|
}
|
||||||
_gameEndTrace = new Exception().getStackTrace();
|
|
||||||
// END TEMP
|
// END TEMP
|
||||||
|
|
||||||
if (_gameobj.state != GameObject.IN_PLAY) {
|
if (_gameobj.state != GameObject.IN_PLAY) {
|
||||||
@@ -981,7 +981,7 @@ public class GameManager extends PlaceManager
|
|||||||
protected TickAIDelegateOp _tickAIOp;
|
protected TickAIDelegateOp _tickAIOp;
|
||||||
|
|
||||||
/** TEMP: debugging the pending rating double release bug. */
|
/** TEMP: debugging the pending rating double release bug. */
|
||||||
protected StackTraceElement[] _gameEndTrace;
|
protected RepeatCallTracker _gameEndTracker = new RepeatCallTracker();
|
||||||
|
|
||||||
/** A list of all currently active game managers. */
|
/** A list of all currently active game managers. */
|
||||||
protected static ArrayList _managers = new ArrayList();
|
protected static ArrayList _managers = new ArrayList();
|
||||||
|
|||||||
Reference in New Issue
Block a user