diff options
author | Jeff Law <law@redhat.com> | 2011-12-14 13:14:56 -0800 |
---|---|---|
committer | Roland McGrath <roland@hack.frob.com> | 2011-12-14 13:14:56 -0800 |
commit | e988dba98d852d08707d00eec0072548fdf2eb24 (patch) | |
tree | cfb296bdd96c310f17cafe3d73a09026a081da2e | |
parent | 26428b7c692af44c61150677b6798294ccd397a0 (diff) | |
download | glibc-e988dba98d852d08707d00eec0072548fdf2eb24.zip glibc-e988dba98d852d08707d00eec0072548fdf2eb24.tar.gz glibc-e988dba98d852d08707d00eec0072548fdf2eb24.tar.bz2 |
BZ #5245: pthread_create returns EAGAIN for stack allocation failure, not ENOMEM.
-rw-r--r-- | nptl/ChangeLog | 5 | ||||
-rw-r--r-- | nptl/pthread_create.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 448aa93..bdf6129 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,8 @@ +2011-12-14 Jeff Law <law@redhat.com> + + [BZ #5245] + * pthread_create.c (__pthread_create_2_1): Translate ENOMEM to EAGAIN. + 2011-11-28 Andreas Schwab <schwab@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Handle diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index f1113fb..6250d03 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -457,8 +457,9 @@ __pthread_create_2_1 (newthread, attr, start_routine, arg) 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 |