From f23746a934177c48eff754411aba54c31d6be2f0 Mon Sep 17 00:00:00 2001 From: Yury Selivanov Date: Mon, 22 Jan 2018 19:11:18 -0500 Subject: bpo-32436: Implement PEP 567 (#5027) --- Python/pystate.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'Python/pystate.c') diff --git a/Python/pystate.c b/Python/pystate.c index 9c25a26460e..909d831465d 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -173,6 +173,8 @@ PyInterpreterState_New(void) } HEAD_UNLOCK(); + interp->tstate_next_unique_id = 0; + return interp; } @@ -313,6 +315,11 @@ new_threadstate(PyInterpreterState *interp, int init) tstate->async_gen_firstiter = NULL; tstate->async_gen_finalizer = NULL; + tstate->context = NULL; + tstate->context_ver = 1; + + tstate->id = ++interp->tstate_next_unique_id; + if (init) _PyThreadState_Init(tstate); @@ -499,6 +506,8 @@ PyThreadState_Clear(PyThreadState *tstate) Py_CLEAR(tstate->coroutine_wrapper); Py_CLEAR(tstate->async_gen_firstiter); Py_CLEAR(tstate->async_gen_finalizer); + + Py_CLEAR(tstate->context); } -- cgit v1.2.3