This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author masamoto
Recipients EdSchouten, erik.bray, masamoto, r.david.murray, vstinner
Date 2016-12-05.09:52:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1480931557.7.0.386931450079.issue25658@psf.upfronthosting.co.za>
In-reply-to
Content
I wrote a patch based on msg281227's idea.  I confirmed to pass related tests (test_capi, test_threading and test_tracemalloc) on Cygwin x86 and Ubuntu 16.04 x86.

This patch adds to change CPython about:

1. Avoid compile error on Currently TLS API.
   With POSIX threads, configure script checks pthread_key_t type. And if the type is not integer, TLS API is implemented empty (do nothing or return fail).
2. Implement New TSS API based on C11 threads.
   Thread key type is changed wrapped native TLS key type by typedef instead of integer, and the key parameter on key create function is changed to calling by pointer.  Key create function doesn't support destructor because users have need to manage memory.  And this patch changes Currently TLS API to call New TSS API. Or does it need to keep implementation?
3. Move to TSS API.
   Py_DEPRECATED(3.7) is added to TLS API declaration, and Modules/_tracemalloc.c and Python/pystate.c are modified to use TSS API instead of TLS API.
History
Date User Action Args
2016-12-05 09:52:38masamotosetrecipients: + masamoto, vstinner, r.david.murray, erik.bray, EdSchouten
2016-12-05 09:52:37masamotosetmessageid: <1480931557.7.0.386931450079.issue25658@psf.upfronthosting.co.za>
2016-12-05 09:52:37masamotolinkissue25658 messages
2016-12-05 09:52:37masamotocreate