2007-11-08  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5245]
	* sysdeps/pthread/createthread.c (do_clone): Translate clone error
	if necessary.
This commit is contained in:
Ulrich Drepper 2007-11-08 17:24:34 +00:00
parent f6ed654cab
commit 0f7e0ee507
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2007-11-08 Ulrich Drepper <drepper@redhat.com>
[BZ #5245]
* sysdeps/pthread/createthread.c (do_clone): Translate clone error
if necessary.
2007-11-07 Ulrich Drepper <drepper@redhat.com>
[BZ #5245]

View File

@ -56,8 +56,8 @@ do_clone (struct pthread *pd, const struct pthread_attr *attr,
PREPARE_CREATE;
#endif
if (stopped)
/* We Make sure the thread does not run far by forcing it to get a
if (__builtin_expect (stopped != 0, 0))
/* We make sure the thread does not run far by forcing it to get a
lock. We lock it here too so that the new thread cannot continue
until we tell it to. */
lll_lock (pd->lock, LLL_PRIVATE);
@ -84,7 +84,8 @@ do_clone (struct pthread *pd, const struct pthread_attr *attr,
if (IS_DETACHED (pd))
__deallocate_stack (pd);
return errno;
/* We have to translate error codes. */
return errno == ENOMEM ? EAGAIN : errno;
}
/* Now we have the possibility to set scheduling parameters etc. */