Index: python3.8-3.8.0~b2/Include/pythread.h =================================================================== --- python3.8-3.8.0~b2.orig/Include/pythread.h +++ python3.8-3.8.0~b2/Include/pythread.h @@ -26,7 +26,7 @@ PyAPI_FUNC(unsigned long) PyThread_start PyAPI_FUNC(void) _Py_NO_RETURN PyThread_exit_thread(void); PyAPI_FUNC(unsigned long) PyThread_get_thread_ident(void); -#if defined(__APPLE__) || defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(_WIN32) || defined(_AIX) +#if defined(__APPLE__) || defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(_WIN32) || defined(_AIX) || defined(__GNU__) #define PY_HAVE_THREAD_NATIVE_ID PyAPI_FUNC(unsigned long) PyThread_get_thread_native_id(void); #endif Index: python3.8-3.8.0~b2/Python/thread_pthread.h =================================================================== --- python3.8-3.8.0~b2.orig/Python/thread_pthread.h +++ python3.8-3.8.0~b2/Python/thread_pthread.h @@ -22,6 +22,9 @@ # include /* thread_self() */ #elif defined(__NetBSD__) # include /* _lwp_self() */ +#elif defined(__GNU__) +# include /* mach_thread_self(), mach_task_self(), + mach_port_deallocate() */ #endif /* The POSIX spec requires that use of pthread_attr_setstacksize @@ -338,6 +341,10 @@ PyThread_get_thread_native_id(void) #elif defined(__NetBSD__) lwpid_t native_id; native_id = _lwp_self(); +#elif defined(__GNU__) + mach_port_t native_id; + native_id = mach_thread_self(); + mach_port_deallocate(mach_task_self(), mach_thread_self()); #endif return (unsigned long) native_id; }