summaryrefslogtreecommitdiffstats
path: root/Python/pystate.c
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 /Python/pystate.c
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 'Python/pystate.c')
-rw-r--r--Python/pystate.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/Python/pystate.c b/Python/pystate.c
index 65c244e..8e81707 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -580,7 +580,8 @@ PyThreadState_GetDict(void)
existing async exception. This raises no exceptions. */
int
-PyThreadState_SetAsyncExc(long id, PyObject *exc) {
+PyThreadState_SetAsyncExc(unsigned long id, PyObject *exc)
+{
PyInterpreterState *interp = GET_INTERP_STATE();
PyThreadState *p;
@@ -668,7 +669,7 @@ _PyThread_CurrentFrames(void)
struct _frame *frame = t->frame;
if (frame == NULL)
continue;
- id = PyLong_FromLong(t->thread_id);
+ id = PyLong_FromUnsignedLong(t->thread_id);
if (id == NULL)
goto Fail;
stat = PyDict_SetItem(result, id, (PyObject *)frame);