about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-05-11 18:23:24 -0400
committerUlrich Drepper <drepper@gmail.com>2011-05-11 18:23:24 -0400
commit5bdcc10322c488f53557440acf71623d8b313ab5 (patch)
tree86ea9c63cf4e3c467c860c3860b479d8454c03f1
parenteac80ce2fa2497c2b4ea1d55d690ad53e1375ece (diff)
downloadglibc-5bdcc10322c488f53557440acf71623d8b313ab5.tar.gz
glibc-5bdcc10322c488f53557440acf71623d8b313ab5.tar.xz
glibc-5bdcc10322c488f53557440acf71623d8b313ab5.zip
Translate kernel error into what pthread_create should return
-rw-r--r--NEWS4
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/allocatestack.c2
3 files changed, 8 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index f5cc012cd7..c43a2b2fb6 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2011-5-10
+GNU C Library NEWS -- history of user-visible changes.  2011-5-11
 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -9,7 +9,7 @@ Version 2.14
 
 * The following bugs are resolved with this release:
 
-  11257, 11258, 11487, 11532, 11578, 11653, 11668, 11724, 11945, 11947,
+  386, 11257, 11258, 11487, 11532, 11578, 11653, 11668, 11724, 11945, 11947,
   12158, 12178, 12200, 12346, 12393, 12420, 12445, 12449, 12454, 12460,
   12469, 12489, 12509, 12510, 12518, 12541, 12545, 12551, 12583, 12587,
   12597, 12611, 12631, 12650, 12653, 12655, 12660, 12681, 12685, 12711,
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index f99dcfb22d..436952d137 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 ba251b9162..82408f5178 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -637,7 +637,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);