diff options
| author | Michael W. Hudson <mwh@python.net> | 2004-07-07 17:44:12 +0000 | 
|---|---|---|
| committer | Michael W. Hudson <mwh@python.net> | 2004-07-07 17:44:12 +0000 | 
| commit | 30ea2f223f5c0a85a13bd893063555a9f587cd6d (patch) | |
| tree | d9ad0b824eb899d1163043d982dd7d961b11a263 /Python/thread_pthread.h | |
| parent | e3c330b42a5dbc64a254354e906885134a852949 (diff) | |
| download | cpython-git-30ea2f223f5c0a85a13bd893063555a9f587cd6d.tar.gz | |
This closes patch:
[ 960406 ] unblock signals in threads
although the changes do not correspond exactly to any patch attached to
that report.
Non-main threads no longer have all signals masked.
A different interface to readline is used.
The handling of signals inside calls to PyOS_Readline is now rather
different.
These changes are all a bit scary!  Review and cross-platform testing
much appreciated.
Diffstat (limited to 'Python/thread_pthread.h')
| -rw-r--r-- | Python/thread_pthread.h | 11 | 
1 files changed, 0 insertions, 11 deletions
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h index d18d2de725..dd1616c716 100644 --- a/Python/thread_pthread.h +++ b/Python/thread_pthread.h @@ -119,7 +119,6 @@ PyThread_start_new_thread(void (*func)(void *), void *arg)  {  	pthread_t th;  	int status; - 	sigset_t oldmask, newmask;  #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)  	pthread_attr_t attrs;  #endif @@ -137,13 +136,6 @@ PyThread_start_new_thread(void (*func)(void *), void *arg)          pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM);  #endif -	/* Mask all signals in the current thread before creating the new -	 * thread.  This causes the new thread to start with all signals -	 * blocked. -	 */ -	sigfillset(&newmask); -	SET_THREAD_SIGMASK(SIG_BLOCK, &newmask, &oldmask); -  	status = pthread_create(&th,   #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)  				 &attrs, @@ -154,9 +146,6 @@ PyThread_start_new_thread(void (*func)(void *), void *arg)  				 (void *)arg  				 ); -	/* Restore signal mask for original thread */ -	SET_THREAD_SIGMASK(SIG_SETMASK, &oldmask, NULL); -  #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)  	pthread_attr_destroy(&attrs);  #endif  | 
