mirror of
https://github.com/python/cpython.git
synced 2025-07-09 20:35:26 +00:00
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().
This commit is contained in:
parent
1e2147b9d7
commit
aefa7ebf0f
27 changed files with 116 additions and 88 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue