diff options
author | Jake Tesler <jake.tesler@gmail.com> | 2019-05-22 15:43:17 (GMT) |
---|---|---|
committer | Victor Stinner <vstinner@redhat.com> | 2019-05-22 15:43:16 (GMT) |
commit | b121f63155d8e3c7c42ab6122e36eaf7f5e9f7f5 (patch) | |
tree | f8e48c2d296e82b1378bb2bf25a34e1ca8321c85 /Python/thread_nt.h | |
parent | b3be4072888a4ce054993c2801802721466ea02d (diff) | |
download | cpython-b121f63155d8e3c7c42ab6122e36eaf7f5e9f7f5.zip cpython-b121f63155d8e3c7c42ab6122e36eaf7f5e9f7f5.tar.gz cpython-b121f63155d8e3c7c42ab6122e36eaf7f5e9f7f5.tar.bz2 |
bpo-36084: Add native thread ID (TID) to threading.Thread (GH-13463)
Add native thread ID (TID) to threading.Thread objects
(supported platforms: Windows, FreeBSD, Linux, macOS).
Diffstat (limited to 'Python/thread_nt.h')
-rw-r--r-- | Python/thread_nt.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Python/thread_nt.h b/Python/thread_nt.h index 5e00c35..a5246dd 100644 --- a/Python/thread_nt.h +++ b/Python/thread_nt.h @@ -143,6 +143,10 @@ LeaveNonRecursiveMutex(PNRMUTEX mutex) unsigned long PyThread_get_thread_ident(void); +#ifdef PY_HAVE_THREAD_NATIVE_ID +unsigned long PyThread_get_thread_native_id(void); +#endif + /* * Initialization of the C package, should not be needed. */ @@ -227,6 +231,25 @@ PyThread_get_thread_ident(void) return GetCurrentThreadId(); } +#ifdef PY_HAVE_THREAD_NATIVE_ID +/* + * Return the native Thread ID (TID) of the calling thread. + * The native ID of a thread is valid and guaranteed to be unique system-wide + * from the time the thread is created until the thread has been terminated. + */ +unsigned long +PyThread_get_thread_native_id(void) +{ + if (!initialized) { + PyThread_init_thread(); + } + + DWORD native_id; + native_id = GetCurrentThreadId(); + return (unsigned long) native_id; +} +#endif + void _Py_NO_RETURN PyThread_exit_thread(void) { |