diff options
| author | Jake Tesler <jake.tesler@gmail.com> | 2019-05-22 08:43:17 -0700 |
|---|---|---|
| committer | Victor Stinner <vstinner@redhat.com> | 2019-05-22 17:43:16 +0200 |
| commit | b121f63155d8e3c7c42ab6122e36eaf7f5e9f7f5 (patch) | |
| tree | f8e48c2d296e82b1378bb2bf25a34e1ca8321c85 /Python/thread_nt.h | |
| parent | b3be4072888a4ce054993c2801802721466ea02d (diff) | |
| download | cpython-git-b121f63155d8e3c7c42ab6122e36eaf7f5e9f7f5.tar.gz | |
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 5e00c35114..a5246dd050 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) { |
