aboutsummaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2004-09-16 23:23:25 +0000
committerRoland McGrath <roland@gnu.org>2004-09-16 23:23:25 +0000
commitae9e6b36d2e03cea249de3a6c592bbab1be01174 (patch)
treed132efef1c54a14e7d7d819996fea8bd3cdc56fd /nptl
parent3d6ce23a90fea094d77b5e2f5574d10e5ecb9d61 (diff)
downloadglibc-ae9e6b36d2e03cea249de3a6c592bbab1be01174.zip
glibc-ae9e6b36d2e03cea249de3a6c592bbab1be01174.tar.gz
glibc-ae9e6b36d2e03cea249de3a6c592bbab1be01174.tar.bz2
* configure.in (--with-headers): Let argument contain a : separated
list of directories to use, not just one. * configure: Regenerated.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog7
-rw-r--r--nptl/allocatestack.c17
-rw-r--r--nptl/pthread_create.c2
3 files changed, 9 insertions, 17 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 85ff61f..6cd9b0d 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,10 @@
+2004-09-10 Roland McGrath <roland@redhat.com>
+
+ [BZ #379]
+ * allocatestack.c (allocate_stack): Remove [__ASSUME_CLONE_STOPPED]
+ code, since we don't try to use the broken CLONE_STOPPED any more.
+ * pthread_create.c (start_thread): Likewise.
+
2004-09-15 Richard Henderson <rth@redhat.com>
* sysdeps/unix/sysv/linux/alpha/vfork.S: Use libc_hidden_def.
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 59f00d9..6dd2621 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -342,11 +342,6 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
/* The first TSD block is included in the TCB. */
pd->specific[0] = pd->specific_1stblock;
-#if defined __ASSUME_CLONE_STOPPED && LLL_LOCK_INITIALIZER != 0
- /* Initialize the lock. */
- pd->lock = LLL_LOCK_INITIALIZER;
-#endif
-
/* Remember the stack-related values. */
pd->stackblock = (char *) attr->stackaddr - size;
pd->stackblock_size = size;
@@ -485,11 +480,6 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
descriptor. */
pd->specific[0] = pd->specific_1stblock;
-#if defined __ASSUME_CLONE_STOPPED && LLL_LOCK_INITIALIZER != 0
- /* Initialize the lock. */
- pd->lock = LLL_LOCK_INITIALIZER;
-#endif
-
/* This is at least the second thread. */
pd->header.multiple_threads = 1;
#ifndef TLS_MULTIPLE_THREADS_IN_TCB
@@ -623,12 +613,9 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
pd->reported_guardsize = guardsize;
}
-#ifndef __ASSUME_CLONE_STOPPED
- /* Initialize the lock. We have to do this unconditionally if the
- CLONE_STOPPED flag is not available since then the stillborn
- thread could be canceled while the lock is taken. */
+ /* Initialize the lock. We have to do this unconditionally since the
+ stillborn thread could be canceled while the lock is taken. */
pd->lock = LLL_LOCK_INITIALIZER;
-#endif
/* We place the thread descriptor at the end of the stack. */
*pdp = pd;
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
index 34edee4..1606568 100644
--- a/nptl/pthread_create.c
+++ b/nptl/pthread_create.c
@@ -227,12 +227,10 @@ start_thread (void *arg)
struct pthread *pd = (struct pthread *) arg;
-#ifndef __ASSUME_CLONE_STOPPED
/* Get the lock the parent locked to force synchronization. */
lll_lock (pd->lock);
/* And give it up right away. */
lll_unlock (pd->lock);
-#endif
#if HP_TIMING_AVAIL
/* Remember the time when the thread was started. */