package org.python.core; class ThreadStateMapping { private static final ThreadLocal<ThreadState> cachedThreadState = new ThreadLocal<ThreadState>(); public ThreadState getThreadState(PySystemState newSystemState) { ThreadState ts = cachedThreadState.get(); if (ts != null) { return ts; } Thread t = Thread.currentThread(); if (newSystemState == null) { Py.writeDebug("threadstate", "no current system state"); if (Py.defaultSystemState == null) { PySystemState.initialize(); } newSystemState = Py.defaultSystemState; } ts = new ThreadState(t, newSystemState); cachedThreadState.set(ts); return ts; } }