2004-09-10 Roland McGrath <roland@redhat.com>
authorroland <roland>
Thu, 16 Sep 2004 23:23:21 +0000 (23:23 +0000)
committerroland <roland>
Thu, 16 Sep 2004 23:23:21 +0000 (23:23 +0000)
[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.

nptl/allocatestack.c
nptl/pthread_create.c

index 59f00d9..6dd2621 100644 (file)
@@ -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;
index 34edee4..1606568 100644 (file)
@@ -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.  */