On 24/03/2020 5:26 pm, Victor Stinner wrote:
Does it work with subinterepreters? Especially when a native thread
has two Python thread states of two different interpreters.

A native thread can only have one Python thread at a time, and must switch using the PyThreadState_Swap() API.
So, I think the answer is yes.
Do you have a specific example or testcase?



Victor

Le mar. 24 mars 2020 à 16:36, Mark Shannon <m...@hotpy.org> a écrit :

Hi,

As an experiment, I thought I would try moving the thread state (what
you get from _PyThreadState_GET() ) to TLS.

https://github.com/python/cpython/compare/master...markshannon:threadstate_in_tls

It works, passing all the tests, and seems sound.

It is a small patch (< 50 lines) and doesn't increase the overall code size.

My branch is GCC/Clang only, so will need a bit of extra code for
Windows. It should only need a few more lines; I haven't done it as I
don't have a Windows machine to test it on.

This is a *much* cleaner approach to removing the global variable than
adding lots of extra parameters all over the place.


Cheers,
Mark.
_______________________________________________
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/RPSTDB6AEMIACJFZKCKIRFTVLAJQLAS2/
Code of Conduct: http://python.org/psf/codeofconduct/



_______________________________________________
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/HMPBCYJOA7X4RNHHWYJYEPSHZFCORICM/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to