diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-27 21:14:41 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-27 21:14:41 +0000 |
commit | 18d009ca00eea5127f162b3179a529516a8445d2 (patch) | |
tree | 61619d90a1b39530bad8302d790815112a5dec72 /nptl/pthread_create.c | |
parent | 28cf305854fd91eaa5b5e16d23a612e094f02920 (diff) | |
download | glibc-18d009ca00eea5127f162b3179a529516a8445d2.zip glibc-18d009ca00eea5127f162b3179a529516a8445d2.tar.gz glibc-18d009ca00eea5127f162b3179a529516a8445d2.tar.bz2 |
Update.
* pthread_create.c (start_thread): Don't use setjmp inside
__builtin_expect to work around gcc bug.
Diffstat (limited to 'nptl/pthread_create.c')
-rw-r--r-- | nptl/pthread_create.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 4121874..8598e4c 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -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 |