diff --git a/core/java/src/net/i2p/stat/StatManager.java b/core/java/src/net/i2p/stat/StatManager.java index 3f3ab4a7230c9fca05a2249849ae31a3b2f1e38f..fc1b18fdf0a188a20c8bc364a2ad3e0d57753ced 100644 --- a/core/java/src/net/i2p/stat/StatManager.java +++ b/core/java/src/net/i2p/stat/StatManager.java @@ -112,6 +112,13 @@ public class StatManager { } } + // Hope this doesn't cause any problems with unsynchronized accesses like addRateData() ... + public void removeRateStat(String name) { + synchronized (_rateStats) { + _rateStats.remove(name); + } + } + /** update the given frequency statistic, taking note that an event occurred (and recalculating all frequencies) */ public void updateFrequency(String name) { FrequencyStat freq = (FrequencyStat) _frequencyStats.get(name); diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java index 7267b26a1a3992fb536edea4b138cdff7ec141cb..e8740ccc728c2314bd2433732efc0b3293bbb5d8 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java +++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java @@ -89,6 +89,7 @@ public class TunnelPool { _alive = false; _lastSelectionPeriod = 0; _lastSelected = null; + _context.statManager().removeRateStat(_rateName); } TunnelPoolManager getManager() { return _manager; }