aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/pystate.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/pystate.c')
-rw-r--r--Python/pystate.c69
1 files changed, 0 insertions, 69 deletions
diff --git a/Python/pystate.c b/Python/pystate.c
index 3ec131b6cba..a1864cc3249 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -1640,75 +1640,6 @@ _PyThreadState_DeleteExcept(PyThreadState *tstate)
}
-//-------------------------
-// "detached" thread states
-//-------------------------
-
-void
-_PyThreadState_InitDetached(PyThreadState *tstate, PyInterpreterState *interp)
-{
- _PyRuntimeState *runtime = interp->runtime;
-
- HEAD_LOCK(runtime);
- interp->threads.next_unique_id += 1;
- uint64_t id = interp->threads.next_unique_id;
- HEAD_UNLOCK(runtime);
-
- init_threadstate(tstate, interp, id);
- // We do not call add_threadstate().
-}
-
-void
-_PyThreadState_ClearDetached(PyThreadState *tstate)
-{
- assert(!tstate->_status.bound);
- assert(!tstate->_status.bound_gilstate);
- assert(tstate->datastack_chunk == NULL);
- assert(tstate->thread_id == 0);
- assert(tstate->native_thread_id == 0);
- assert(tstate->next == NULL);
- assert(tstate->prev == NULL);
-
- PyThreadState_Clear(tstate);
- clear_datastack(tstate);
-}
-
-void
-_PyThreadState_BindDetached(PyThreadState *tstate)
-{
- assert(!_Py_IsMainInterpreter(
- current_fast_get(tstate->interp->runtime)->interp));
- assert(_Py_IsMainInterpreter(tstate->interp));
- bind_tstate(tstate);
- /* Unlike _PyThreadState_Bind(), we do not modify gilstate TSS. */
-}
-
-void
-_PyThreadState_UnbindDetached(PyThreadState *tstate)
-{
- assert(!_Py_IsMainInterpreter(
- current_fast_get(tstate->interp->runtime)->interp));
- assert(_Py_IsMainInterpreter(tstate->interp));
- assert(tstate_is_alive(tstate));
- assert(!tstate->_status.active);
- assert(gilstate_tss_get(tstate->interp->runtime) != tstate);
-
- unbind_tstate(tstate);
-
- /* This thread state may be bound/unbound repeatedly,
- so we must erase evidence that it was ever bound (or unbound). */
- tstate->_status.bound = 0;
- tstate->_status.unbound = 0;
-
- /* We must fully unlink the thread state from any OS thread,
- to allow it to be bound more than once. */
- tstate->thread_id = 0;
-#ifdef PY_HAVE_THREAD_NATIVE_ID
- tstate->native_thread_id = 0;
-#endif
-}
-
-
//----------
// accessors
//----------