Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 18 Sep 2004 21:21:36 +0000 (21:21 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 18 Sep 2004 21:21:36 +0000 (21:21 +0000)
2004-09-18  Ulrich Drepper  <drepper@redhat.com>

* allocatestack.c (allocate_stack): Return EAGAIN instead of
ENOMEM when out of memory.

nptl/ChangeLog
nptl/allocatestack.c

index 6cd9b0d..db3aeba 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-18  Ulrich Drepper  <drepper@redhat.com>
+
+       * allocatestack.c (allocate_stack): Return EAGAIN instead of
+       ENOMEM when out of memory.
+
 2004-09-10  Roland McGrath  <roland@redhat.com>
 
        [BZ #379]
index 6dd2621..cbdd781 100644 (file)
@@ -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;
            }