about summary refs log tree commit diff
path: root/nptl/allocatestack.c
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/allocatestack.c')
-rw-r--r--nptl/allocatestack.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 6dd2621d99..cbdd781eeb 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -366,8 +366,11 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
 
       /* Allocate the DTV for this thread.  */
       if (_dl_allocate_tls (TLS_TPADJ (pd)) == NULL)
-	/* Something went wrong.  */
-	return errno;
+	{
+	  /* Something went wrong.  */
+	  assert (errno == ENOMEM);
+	  return EAGAIN;
+	}
 
 
       /* Prepare to modify global data.  */
@@ -498,12 +501,12 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
 	  if (_dl_allocate_tls (TLS_TPADJ (pd)) == NULL)
 	    {
 	      /* Something went wrong.  */
-	      int err = errno;
+	      assert (errno == ENOMEM);
 
 	      /* Free the stack memory we just allocated.  */
 	      (void) munmap (mem, size);
 
-	      return err;
+	      return EAGAIN;
 	    }