--- a/nptl/pthread_create.c 2011-12-13 11:41:37.000000000 -0700
+++ b/nptl/pthread_create.c 2011-12-14 10:03:13.000000000 -0700
@@ -440,8 +440,9 @@
int err = ALLOCATE_STACK (iattr, &pd);
if (__builtin_expect (err != 0, 0))
/* Something went wrong. Maybe a parameter of the attributes is
- invalid or we could not allocate memory. */
- return err;
+ invalid or we could not allocate memory. Note we have to
+ translate error codes. */
+ return err == ENOMEM ? EAGAIN : err;
/* Initialize the TCB. All initializations with zero should be