Fix namespace pollution in pthread_cleanup_push.
authorAndreas Schwab <schwab@redhat.com>
Tue, 21 Sep 2010 17:47:14 +0000 (10:47 -0700)
committerUlrich Drepper <drepper@redhat.com>
Tue, 21 Sep 2010 17:47:14 +0000 (10:47 -0700)
nptl/ChangeLog
nptl/sysdeps/pthread/pthread.h

index 30631dc..dcb94b2 100644 (file)
@@ -1,3 +1,9 @@
+2010-09-21  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/pthread/pthread.h (pthread_cleanup_push)
+       [!__EXCEPTIONS]: Mangle local variable not_first_call.
+       (pthread_cleanup_push_defer_np): Likewise.
+
 2010-09-03  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/pthread/allocalim.h (__libc_use_alloca): Expect blocks are
index 44cf9f0..4c83665 100644 (file)
@@ -650,9 +650,9 @@ __pthread_cleanup_routine (struct __pthread_cleanup_frame *__frame)
     __pthread_unwind_buf_t __cancel_buf;                                     \
     void (*__cancel_routine) (void *) = (routine);                           \
     void *__cancel_arg = (arg);                                                      \
-    int not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *)              \
-                                     __cancel_buf.__cancel_jmp_buf, 0);      \
-    if (__builtin_expect (not_first_call, 0))                                \
+    int __not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *)     \
+                                       __cancel_buf.__cancel_jmp_buf, 0);    \
+    if (__builtin_expect (__not_first_call, 0))                                      \
       {                                                                              \
        __cancel_routine (__cancel_arg);                                      \
        __pthread_unwind_next (&__cancel_buf);                                \
@@ -685,9 +685,9 @@ extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
     __pthread_unwind_buf_t __cancel_buf;                                     \
     void (*__cancel_routine) (void *) = (routine);                           \
     void *__cancel_arg = (arg);                                                      \
-    int not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *)              \
-                                     __cancel_buf.__cancel_jmp_buf, 0);      \
-    if (__builtin_expect (not_first_call, 0))                                \
+    int __not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *)     \
+                                       __cancel_buf.__cancel_jmp_buf, 0);    \
+    if (__builtin_expect (__not_first_call, 0))                                      \
       {                                                                              \
        __cancel_routine (__cancel_arg);                                      \
        __pthread_unwind_next (&__cancel_buf);                                \