On Wed, Feb 2, 2022 at 9:25 AM <dw-...@d-woods.co.uk> wrote:
> Guido van Rossum wrote:
> > My question for you is if you're willing to write up a list of things in
> > CPython that you depend on. Or is this just something you're not willing to
> > commit to? It would be nice to know which it is, just so the CPython team
> > knows what we're up against.
>
> I'm happy to prepare a list of CPython internals that Cython uses. Obviously 
> there's no guarantee that it'll be complete (just because it involves lots of 
> manually finding things in code so is full of human error) or that it doesn't 
> change in future. But a list would at least let everyone know where they 
> stand.

A subset of these issues are listed in these two issues:

* PyThreadState: https://bugs.python.org/issue39947
* PyFrameObject: https://bugs.python.org/issue40421

By the way, I have a pending PR to add PyThreadState_SetTrace(tstate,
trace_func) and PyThreadState_SetProfile(tstate, profile_func) to
avoid modifying directly PyThreadState members directly: (c_tracefunc
and c_traceobj) and (c_profilefunc and c_profileobj). The
implementation is more complicated than what you would expect: it does
Py_DECREF() which can trigger a GC collection, it requires to call
_PyThreadState_ResumeTracing() which is non-trivial, etc. But it's
unclear to me if debbugers and profilers *can* or *would like* to use
such function which requires to hold the GIL and can execute arbitrary
Python code (Py_DECREF which can trigger a GC collection).

=> PR: https://github.com/python/cpython/pull/29121

Victor
-- 
Night gathers, and now my watch begins. It shall not end until my death.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/L3RZCZIU5AMMAVVTJAOXN733UVUETTR7/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to