2003-07-03  Ulrich Drepper  <drepper@redhat.com>

	* 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.
This commit is contained in:
Ulrich Drepper 2003-07-03 07:37:59 +00:00
parent 64b5b3b12b
commit 56421b23d7
5 changed files with 15 additions and 15 deletions

View File

@ -1,3 +1,12 @@
2003-07-03 Ulrich Drepper <drepper@redhat.com>
* 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 <drepper@redhat.com> 2003-07-01 Ulrich Drepper <drepper@redhat.com>
* libc-cancellation.c (__libc_cleanup_routine): Define. * libc-cancellation.c (__libc_cleanup_routine): Define.

View File

@ -225,5 +225,6 @@ libpthread {
GLIBC_PRIVATE { GLIBC_PRIVATE {
__pthread_initialize_minimal; __pthread_cleanup_upto; __pthread_initialize_minimal; __pthread_cleanup_upto;
__pthread_clock_gettime; __pthread_clock_settime; __pthread_clock_gettime; __pthread_clock_settime;
__pthread_unwind;
} }
} }

View File

@ -114,6 +114,10 @@ extern void __pthread_unwind (__pthread_unwind_buf_t *__buf)
weak_function weak_function
#endif #endif
; ;
#if defined NOT_IN_libc && defined IS_IN_libpthread
hidden_proto (__pthread_unwind)
#endif
/* Called when a thread reacts on a cancellation request. */ /* Called when a thread reacts on a cancellation request. */
static inline void static inline void

View File

@ -25,21 +25,6 @@
#ifdef IS_IN_librt #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 /* The next two functions are similar to pthread_setcanceltype() but
more specialized for the use in the cancelable functions like write(). more specialized for the use in the cancelable functions like write().
They do not need to check parameters etc. */ They do not need to check parameters etc. */

View File

@ -111,6 +111,7 @@ __pthread_unwind (__pthread_unwind_buf_t *buf)
/* We better do not get here. */ /* We better do not get here. */
abort (); abort ();
} }
hidden_def (__pthread_unwind)
void void