summaryrefslogtreecommitdiffstats
path: root/Include/pythread.h
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2017-03-23 13:48:39 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2017-03-23 13:48:39 (GMT)
commitaefa7ebf0ff0f73feee7ab24f4cdcb2014d83ee5 (patch)
tree39560da26771d1e10add697e558bb727639fdbb0 /Include/pythread.h
parent1e2147b9d75a64df370a9393c2b5b9d170dc0afd (diff)
downloadcpython-aefa7ebf0ff0f73feee7ab24f4cdcb2014d83ee5.zip
cpython-aefa7ebf0ff0f73feee7ab24f4cdcb2014d83ee5.tar.gz
cpython-aefa7ebf0ff0f73feee7ab24f4cdcb2014d83ee5.tar.bz2
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().
Diffstat (limited to 'Include/pythread.h')
-rw-r--r--Include/pythread.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/Include/pythread.h b/Include/pythread.h
index 88c4873..dbacb8b 100644
--- a/Include/pythread.h
+++ b/Include/pythread.h
@@ -17,10 +17,14 @@ typedef enum PyLockStatus {
PY_LOCK_INTR
} PyLockStatus;
+#ifndef Py_LIMITED_API
+#define PYTHREAD_INVALID_THREAD_ID ((unsigned long)-1)
+#endif
+
PyAPI_FUNC(void) PyThread_init_thread(void);
-PyAPI_FUNC(long) PyThread_start_new_thread(void (*)(void *), void *);
+PyAPI_FUNC(unsigned long) PyThread_start_new_thread(void (*)(void *), void *);
PyAPI_FUNC(void) PyThread_exit_thread(void);
-PyAPI_FUNC(long) PyThread_get_thread_ident(void);
+PyAPI_FUNC(unsigned long) PyThread_get_thread_ident(void);
PyAPI_FUNC(PyThread_type_lock) PyThread_allocate_lock(void);
PyAPI_FUNC(void) PyThread_free_lock(PyThread_type_lock);