< prev index next >
src/java.base/share/classes/java/lang/Thread.java
Print this page
*** 34,43 ****
--- 34,45 ----
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.TerminatingThreadLocal;
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,845 ****
--- 838,850 ----
/**
* This method is called by the system to give a Thread
* a chance to clean up before it actually exits.
*/
private void exit() {
+ if (TerminatingThreadLocal.REGISTRY.isPresent()) {
+ TerminatingThreadLocal.threadTerminated();
+ }
if (group != null) {
group.threadTerminated(this);
group = null;
}
/* Aggressively null out all reference fields: see bug 4006245 */
< prev index next >