From 1420b06d3bd989c1b1f1d0b70287d10b35e78267 Mon Sep 17 00:00:00 2001 From: Charlie Groves Date: Thu, 28 Jan 2010 23:12:27 +0000 Subject: [PATCH] Clear the ThreadLocal after finishing with a method to keep from hanging onto the Stack and thereby the Stack's classloader from that thread git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6024 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- src/java/com/threerings/util/MethodProfiler.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/java/com/threerings/util/MethodProfiler.java b/src/java/com/threerings/util/MethodProfiler.java index c9e047062..634ac4d9b 100644 --- a/src/java/com/threerings/util/MethodProfiler.java +++ b/src/java/com/threerings/util/MethodProfiler.java @@ -158,6 +158,11 @@ public class MethodProfiler long elapsed = nanos - method.entryTime; recordTime(method.fullName(), (double)elapsed / 1000000); method.name = null; + // Clear the ThreadLocal after we've profiled our whole stack to prevent our class loader + // from hanging around + if (_stack.get().size() == 0) { + _stack.remove(); + } } /**