[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r4137 - in /fsf/trunk/libc/nptl: ChangeLog sysdeps/pthread/createthread.c



Author: eglibc
Date: Fri Nov  9 00:03:26 2007
New Revision: 4137

Log:
Import glibc-mainline for 2007-11-09

Modified:
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/sysdeps/pthread/createthread.c

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Fri Nov  9 00:03:26 2007
@@ -1,3 +1,9 @@
+2007-11-08  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5245]
+	* sysdeps/pthread/createthread.c (do_clone): Translate clone error
+	if necessary.
+
 2007-11-07  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	[BZ #5245]

Modified: fsf/trunk/libc/nptl/sysdeps/pthread/createthread.c
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/pthread/createthread.c (original)
+++ fsf/trunk/libc/nptl/sysdeps/pthread/createthread.c Fri Nov  9 00:03:26 2007
@@ -56,8 +56,8 @@
   PREPARE_CREATE;
 #endif
 
-  if (stopped)
-    /* We Make sure the thread does not run far by forcing it to get a
+  if (__builtin_expect (stopped != 0, 0))
+    /* We make sure the thread does not run far by forcing it to get a
        lock.  We lock it here too so that the new thread cannot continue
        until we tell it to.  */
     lll_lock (pd->lock, LLL_PRIVATE);
@@ -84,7 +84,8 @@
       if (IS_DETACHED (pd))
 	__deallocate_stack (pd);
 
-      return errno;
+      /* We have to translate error codes.  */
+      return errno == ENOMEM ? EAGAIN : errno;
     }
 
   /* Now we have the possibility to set scheduling parameters etc.  */