about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-05-11 23:23:24 +0100
committerPetr Baudis <pasky@ucw.cz>2011-05-27 01:24:05 +0200
commit564bc26b7954ca49de2b7f18a88aad03445de2d9 (patch)
tree517b72c05a687f6c70f8a498210580b54d1771e5
parentd95270c5b52632ec3bc438c852516bda6b1f87d1 (diff)
downloadglibc-564bc26b7954ca49de2b7f18a88aad03445de2d9.tar.gz
glibc-564bc26b7954ca49de2b7f18a88aad03445de2d9.tar.xz
glibc-564bc26b7954ca49de2b7f18a88aad03445de2d9.zip
Translate kernel error into what pthread_create should return
(cherry picked from commit 5bdcc10322c488f53557440acf71623d8b313ab5)
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/allocatestack.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index d7dc113832..ae6a121262 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2011-05-11  Ulrich Drepper  <drepper@gmail.com>
+
+	[BZ #386]
+	* allocatestack.c (allocate_stack): Convert ENOMEM error to EAGAIN.
+
 2011-04-10  Ulrich Drepper  <drepper@gmail.com>
 
 	[BZ #12650]
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 550a8bec73..81c833311a 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -628,7 +628,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
 	    {
 	      int err;
 	    mprot_error:
-	      err = errno;
+	      err = errno == ENOMEM ? EAGAIN : errno;
 
 	      lll_lock (stack_cache_lock, LLL_PRIVATE);