From: Ulrich Drepper Date: Thu, 3 Jul 2003 07:37:59 +0000 (+0000) Subject: Update. X-Git-Tag: cvs/glibc-2_3_3~479 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=56421b23d7d20f0278ddbe2091cc05a320748e58;p=thirdparty%2Fglibc.git Update. 2003-07-03 Ulrich Drepper * sysdeps/pthread/librt-cancellation.c (__pthread_unwind): Remove definition. * pthreadP.h (__pthread_unwind): Add hidden_proto if used in libpthread compilation. * unwind.c (__pthread_unwind): Add hidden_def. * Versions (libpthread) [GLIBC_PRIVATE]: Add __pthread_unwind. --- diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 82034f8d5dc..0b016b095f3 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,12 @@ +2003-07-03 Ulrich Drepper + + * sysdeps/pthread/librt-cancellation.c (__pthread_unwind): Remove + definition. + * pthreadP.h (__pthread_unwind): Add hidden_proto if used in + libpthread compilation. + * unwind.c (__pthread_unwind): Add hidden_def. + * Versions (libpthread) [GLIBC_PRIVATE]: Add __pthread_unwind. + 2003-07-01 Ulrich Drepper * libc-cancellation.c (__libc_cleanup_routine): Define. diff --git a/nptl/Versions b/nptl/Versions index a8fa3c85e8c..0f98663d726 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -225,5 +225,6 @@ libpthread { GLIBC_PRIVATE { __pthread_initialize_minimal; __pthread_cleanup_upto; __pthread_clock_gettime; __pthread_clock_settime; + __pthread_unwind; } } diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 1c523a873dd..e33d8281177 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -114,6 +114,10 @@ extern void __pthread_unwind (__pthread_unwind_buf_t *__buf) weak_function #endif ; +#if defined NOT_IN_libc && defined IS_IN_libpthread +hidden_proto (__pthread_unwind) +#endif + /* Called when a thread reacts on a cancellation request. */ static inline void diff --git a/nptl/sysdeps/pthread/librt-cancellation.c b/nptl/sysdeps/pthread/librt-cancellation.c index b5a118f9120..ae9dd2ad97b 100644 --- a/nptl/sysdeps/pthread/librt-cancellation.c +++ b/nptl/sysdeps/pthread/librt-cancellation.c @@ -25,21 +25,6 @@ #ifdef IS_IN_librt - -/* XXX Hack ahead. In librt we currently do not have access to a - function equivalent to __pthread_unwind. Therefore we just raise a - signal. */ -void -attribute_hidden -__pthread_unwind (__pthread_unwind_buf_t *buf) -{ - INTERNAL_SYSCALL_DECL (err); - while (1) - INTERNAL_SYSCALL (tkill, err, 2, THREAD_GETMEM (THREAD_SELF, tid), - SIGCANCEL); -} - - /* The next two functions are similar to pthread_setcanceltype() but more specialized for the use in the cancelable functions like write(). They do not need to check parameters etc. */ diff --git a/nptl/unwind.c b/nptl/unwind.c index a7855c386c5..e51fd295b5c 100644 --- a/nptl/unwind.c +++ b/nptl/unwind.c @@ -111,6 +111,7 @@ __pthread_unwind (__pthread_unwind_buf_t *buf) /* We better do not get here. */ abort (); } +hidden_def (__pthread_unwind) void