about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/pthread/createthread.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 05b2a37eb6..7aa1c2b68c 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-20  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/createthread.c (create_thread): Don't add
+	CLONE_DETACHED bit if it is not necessary.
+
 2004-01-16  Ulrich Drepper  <drepper@redhat.com>
 
 	* pthread_getattr_np.c: Include ldsodefs.h.
diff --git a/nptl/sysdeps/pthread/createthread.c b/nptl/sysdeps/pthread/createthread.c
index 71ce02db0e..c4695fced3 100644
--- a/nptl/sysdeps/pthread/createthread.c
+++ b/nptl/sysdeps/pthread/createthread.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -174,7 +174,10 @@ create_thread (struct pthread *pd, const struct pthread_attr *attr,
      is sent.  */
   int clone_flags = (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGNAL
 		     | CLONE_SETTLS | CLONE_PARENT_SETTID
-		     | CLONE_CHILD_CLEARTID | CLONE_DETACHED | CLONE_SYSVSEM
+		     | CLONE_CHILD_CLEARTID | CLONE_SYSVSEM
+#if __ASSUME_NO_CLONE_DETACHED == 0
+		     | CLONE_DETACHED
+#endif
 		     | 0);
 
   /* If the newly created threads has to be started stopped since we