diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2011-05-04 20:04:29 +0200 |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2011-05-04 20:04:29 +0200 |
commit | 271c99a7df6e09012c328671761b6e22042bb47f (patch) | |
tree | cb503ccf87ef27abe6753a2b25ff6da4993290d6 /Python/thread_pthread.h | |
parent | 89ae6ab2a2cfece70bf55c2a314376093e6a1a41 (diff) | |
parent | 2ae7e6ffc12c360e73a6c650549eabf58e3b7d76 (diff) | |
download | cpython-271c99a7df6e09012c328671761b6e22042bb47f.tar.gz |
Issue #1856: Avoid crashes and lockups when daemon threads run while the
interpreter is shutting down; instead, these threads are now killed when
they try to take the GIL.
Diffstat (limited to 'Python/thread_pthread.h')
-rw-r--r-- | Python/thread_pthread.h | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h index 6bc9d55781..40ebaf6964 100644 --- a/Python/thread_pthread.h +++ b/Python/thread_pthread.h @@ -228,8 +228,7 @@ PyThread_start_new_thread(void (*func)(void *), void *arg) hosed" because: - It does not guarantee the promise that a non-zero integer is returned. - The cast to long is inherently unsafe. - - It is not clear that the 'volatile' (for AIX?) and ugly casting in the - latter return statement (for Alpha OSF/1) are any longer necessary. + - It is not clear that the 'volatile' (for AIX?) are any longer necessary. */ long PyThread_get_thread_ident(void) @@ -237,13 +236,8 @@ PyThread_get_thread_ident(void) volatile pthread_t threadid; if (!initialized) PyThread_init_thread(); - /* Jump through some hoops for Alpha OSF/1 */ threadid = pthread_self(); -#if SIZEOF_PTHREAD_T <= SIZEOF_LONG return (long) threadid; -#else - return (long) *(long *) &threadid; -#endif } void |