mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 22:40:05 +00:00
Update.
* pthread_create.c (start_thread): Don't use setjmp inside __builtin_expect to work around gcc bug.
This commit is contained in:
parent
28cf305854
commit
18d009ca00
@ -1,5 +1,8 @@
|
||||
2003-03-27 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* pthread_create.c (start_thread): Don't use setjmp inside
|
||||
__builtin_expect to work around gcc bug.
|
||||
|
||||
* sysdeps/unix/sysv/linux/timer_delete.c (timer_delete): Even if
|
||||
timer_delete syscall fails, but not with ENOSYS, set
|
||||
__no_posix_timers.
|
||||
|
@ -221,7 +221,8 @@ start_thread (void *arg)
|
||||
|
||||
/* This is where the try/finally block should be created. For
|
||||
compilers without that support we do use setjmp. */
|
||||
if (__builtin_expect (setjmp (pd->cancelbuf) == 0, 1))
|
||||
int not_first_call = setjmp (pd->cancelbuf);
|
||||
if (__builtin_expect (! not_first_call, 1))
|
||||
{
|
||||
/* Run the code the user provided. */
|
||||
#ifdef CALL_THREAD_FCT
|
||||
|
@ -43,9 +43,9 @@ typedef struct
|
||||
dtv_t *dtv;
|
||||
void *self; /* Pointer to the thread descriptor. */
|
||||
int multiple_threads;
|
||||
#ifdef NEED_DL_SYSINFO
|
||||
# ifdef NEED_DL_SYSINFO
|
||||
uintptr_t sysinfo;
|
||||
#endif
|
||||
# endif
|
||||
} tcbhead_t;
|
||||
|
||||
# ifndef __s390x__
|
||||
|
Loading…
Reference in New Issue
Block a user