Lines Matching refs:tstate
145 PyThreadState *tstate) in drop_gil() argument
157 if (tstate != NULL) { in drop_gil()
161 _Py_atomic_store_relaxed(&gil->last_holder, (uintptr_t)tstate); in drop_gil()
171 if (_Py_atomic_load_relaxed(&ceval2->gil_drop_request) && tstate != NULL) { in drop_gil()
174 if (((PyThreadState*)_Py_atomic_load_relaxed(&gil->last_holder)) == tstate) in drop_gil()
176 assert(is_tstate_valid(tstate)); in drop_gil()
177 RESET_GIL_DROP_REQUEST(tstate->interp); in drop_gil()
198 tstate_must_exit(PyThreadState *tstate) in tstate_must_exit() argument
205 return (finalizing != NULL && finalizing != tstate); in tstate_must_exit()
215 take_gil(PyThreadState *tstate) in take_gil() argument
219 assert(tstate != NULL); in take_gil()
221 if (tstate_must_exit(tstate)) { in take_gil()
231 assert(is_tstate_valid(tstate)); in take_gil()
232 PyInterpreterState *interp = tstate->interp; in take_gil()
263 if (tstate_must_exit(tstate)) { in take_gil()
267 assert(is_tstate_valid(tstate)); in take_gil()
283 if (tstate != (PyThreadState*)_Py_atomic_load_relaxed(&gil->last_holder)) { in take_gil()
284 _Py_atomic_store_relaxed(&gil->last_holder, (uintptr_t)tstate); in take_gil()
293 if (tstate_must_exit(tstate)) { in take_gil()
302 drop_gil(ceval, ceval2, tstate); in take_gil()
305 assert(is_tstate_valid(tstate)); in take_gil()
320 if (tstate->async_exc != NULL) { in take_gil()
321 _PyEval_SignalAsyncExc(tstate->interp); in take_gil()