aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-02-26 20:19:49 +0000
committerUlrich Drepper <drepper@redhat.com>2001-02-26 20:19:49 +0000
commit08b3d7ad6880ad50e9055220aa96c2d620deed15 (patch)
tree5e2367d1c6012be2d8c01c3fee7e0bf4cfc9e107 /linuxthreads
parent00b16c4a62bcd83f8fe2adc845f512c003d8ace2 (diff)
downloadglibc-08b3d7ad6880ad50e9055220aa96c2d620deed15.tar
glibc-08b3d7ad6880ad50e9055220aa96c2d620deed15.tar.gz
glibc-08b3d7ad6880ad50e9055220aa96c2d620deed15.tar.bz2
glibc-08b3d7ad6880ad50e9055220aa96c2d620deed15.zip
Update.
* sysdeps/ieee754/ldbl-96/e_jnl.c: New file. Contributed by Stephen L. Moshier <moshier@na-net.ornl.gov>. * sysdeps/i386/fpu/libm-test-ulps: Update for jnl and ynl introduction. * sysdeps/ia64/fpu/libm-test-ulps: Likewise.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog9
-rw-r--r--linuxthreads/manager.c21
2 files changed, 10 insertions, 20 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 00441fa149..3d4bfb242b 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,12 @@
+2001-02-20 Hans Boehm <hans_boehm@hp.com>
+
+ * manager.c (manager_mask): Removed static vesion. Now always local
+ to __pthread_manager().
+ (manager_mask_all): Removed completely.
+ (__pthread_manager): Remove manager_mask_all initialization.
+ (pthread_handle_create): Remove code to set and reset signal mask
+ around __clone2() calls.
+
2001-02-17 Jakub Jelinek <jakub@redhat.com>
* spinlock.c (__pthread_lock): Force lock->__status to be read from
diff --git a/linuxthreads/manager.c b/linuxthreads/manager.c
index 24e3f75a88..7f35758d12 100644
--- a/linuxthreads/manager.c
+++ b/linuxthreads/manager.c
@@ -88,13 +88,6 @@ static int main_thread_exiting;
static pthread_t pthread_threads_counter;
-#ifdef NEED_SEPARATE_REGISTER_STACK
-/* Signal masks for the manager. These have to be global only when clone2
- is used since it's currently borken wrt signals in the child. */
-static sigset_t manager_mask; /* Manager normal signal mask */
-static sigset_t manager_mask_all; /* All bits set. */
-#endif
-
/* Forward declarations */
static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr,
@@ -113,9 +106,7 @@ int __pthread_manager(void *arg)
{
int reqfd = (int) (long int) arg;
struct pollfd ufd;
-#ifndef NEED_SEPARATE_REGISTER_STACK
sigset_t manager_mask;
-#endif
int n;
struct pthread_request request;
@@ -133,9 +124,6 @@ int __pthread_manager(void *arg)
if (__pthread_threads_debug && __pthread_sig_debug > 0)
sigdelset(&manager_mask, __pthread_sig_debug);
sigprocmask(SIG_SETMASK, &manager_mask, NULL);
-#ifdef NEED_SEPARATE_REGISTER_STACK
- sigfillset(&manager_mask_all);
-#endif
/* Raise our priority to match that of main thread */
__pthread_manager_adjust_prio(__pthread_main_thread->p_priority);
/* Synchronize debugging of the thread manager */
@@ -583,17 +571,12 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr,
And there is some argument for changing the __clone2
interface to pass sp and bsp instead, making it more IA64
specific, but allowing stacks to grow outward from each
- other, to get less paging and fewer mmaps. Clone2
- currently can't take signals in the child right after
- process creation. Mask them in the child. It resets the
- mask once it starts up. */
- sigprocmask(SIG_SETMASK, &manager_mask_all, NULL);
+ other, to get less paging and fewer mmaps. */
pid = __clone2(pthread_start_thread_event,
(void **)new_thread_bottom,
(char *)new_thread - new_thread_bottom,
CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
__pthread_sig_cancel, new_thread);
- sigprocmask(SIG_SETMASK, &manager_mask, NULL);
#else
pid = __clone(pthread_start_thread_event, (void **) new_thread,
CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
@@ -625,13 +608,11 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr,
if (pid == 0)
{
#ifdef NEED_SEPARATE_REGISTER_STACK
- sigprocmask(SIG_SETMASK, &manager_mask_all, NULL);
pid = __clone2(pthread_start_thread,
(void **)new_thread_bottom,
(char *)new_thread - new_thread_bottom,
CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
__pthread_sig_cancel, new_thread);
- sigprocmask(SIG_SETMASK, &manager_mask, NULL);
#else
pid = __clone(pthread_start_thread, (void **) new_thread,
CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |