< prev index next >
src/java.base/share/classes/java/lang/Thread.java
Print this page
@@ -34,10 +34,12 @@
import java.util.Map;
import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.locks.LockSupport;
+
+import jdk.internal.misc.JdkThreadLocal;
import sun.nio.ch.Interruptible;
import jdk.internal.reflect.CallerSensitive;
import jdk.internal.reflect.Reflection;
import sun.security.util.SecurityConstants;
import jdk.internal.HotSpotIntrinsicCandidate;
@@ -836,10 +838,11 @@
/**
* This method is called by the system to give a Thread
* a chance to clean up before it actually exits.
*/
private void exit() {
+ JdkThreadLocal.threadTerminated(JdkThreadLocal.REGISTRY.getIfPresent());
if (group != null) {
group.threadTerminated(this);
group = null;
}
/* Aggressively null out all reference fields: see bug 4006245 */
< prev index next >