diff options
author | R David Murray <rdmurray@bitdance.com> | 2013-08-09 16:20:06 -0400 |
---|---|---|
committer | R David Murray <rdmurray@bitdance.com> | 2013-08-09 16:20:06 -0400 |
commit | d265ba722d7eebdde6234372287ce58fdd232437 (patch) | |
tree | 451f0991687b6fc71cd62c46bc5e74b28c89db42 /Python/thread.c | |
parent | bacddc2715df770bfb5c4937b3a1aef559a538cd (diff) | |
parent | a327792dbf7fe029cc8f8d5e70f5d6df1b1a85d7 (diff) | |
download | cpython-d265ba722d7eebdde6234372287ce58fdd232437.tar.gz |
Null merge related to #18600.
For 3.3, we just deleted the example. In 3.4 it was fixed.
Diffstat (limited to 'Python/thread.c')
-rw-r--r-- | Python/thread.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/Python/thread.c b/Python/thread.c index e55d34244e..8540942e28 100644 --- a/Python/thread.c +++ b/Python/thread.c @@ -91,10 +91,6 @@ static size_t _pythread_stacksize = 0; #include "thread_nt.h" #endif -#ifdef OS2_THREADS -#define PYTHREAD_NAME "os2" -#include "thread_os2.h" -#endif /* #ifdef FOOBAR_THREADS @@ -235,7 +231,7 @@ find_key(int key, void *value) assert(p == NULL); goto Done; } - p = (struct key *)malloc(sizeof(struct key)); + p = (struct key *)PyMem_RawMalloc(sizeof(struct key)); if (p != NULL) { p->id = id; p->key = key; @@ -274,7 +270,7 @@ PyThread_delete_key(int key) while ((p = *q) != NULL) { if (p->key == key) { *q = p->next; - free((void *)p); + PyMem_RawFree((void *)p); /* NB This does *not* free p->value! */ } else @@ -328,7 +324,7 @@ PyThread_delete_key_value(int key) while ((p = *q) != NULL) { if (p->key == key && p->id == id) { *q = p->next; - free((void *)p); + PyMem_RawFree((void *)p); /* NB This does *not* free p->value! */ break; } @@ -361,7 +357,7 @@ PyThread_ReInitTLS(void) while ((p = *q) != NULL) { if (p->id != id) { *q = p->next; - free((void *)p); + PyMem_RawFree((void *)p); /* NB This does *not* free p->value! */ } else @@ -403,8 +399,10 @@ PyThread_GetInfo(void) int len; #endif - if (ThreadInfoType.tp_name == 0) - PyStructSequence_InitType(&ThreadInfoType, &threadinfo_desc); + if (ThreadInfoType.tp_name == 0) { + if (PyStructSequence_InitType2(&ThreadInfoType, &threadinfo_desc) < 0) + return NULL; + } threadinfo = PyStructSequence_New(&ThreadInfoType); if (threadinfo == NULL) |