bpo-6532: Make the thread id an unsigned integer. (#781)
* bpo-6532: Make the thread id an unsigned integer.
From C API side the type of results of PyThread_start_new_thread() and
PyThread_get_thread_ident(), the id parameter of
PyThreadState_SetAsyncExc(), and the thread_id field of PyThreadState
changed from "long" to "unsigned long".
* Restore a check in thread_get_ident().
diff --git a/Python/thread_foobar.h b/Python/thread_foobar.h
index ea96f9c..45cfd1b 100644
--- a/Python/thread_foobar.h
+++ b/Python/thread_foobar.h
@@ -9,7 +9,7 @@
/*
* Thread support.
*/
-long
+unsigned long
PyThread_start_new_thread(void (*func)(void *), void *arg)
{
int success = 0; /* init not needed when SOLARIS_THREADS and */
@@ -18,10 +18,10 @@
dprintf(("PyThread_start_new_thread called\n"));
if (!initialized)
PyThread_init_thread();
- return success < 0 ? -1 : 0;
+ return success < 0 ? PYTHREAD_INVALID_THREAD_ID : 0;
}
-long
+unsigned long
PyThread_get_thread_ident(void)
{
if (!initialized)