diff options
Diffstat (limited to 'sysdeps/htl')
-rw-r--r-- | sysdeps/htl/include/bits/cancelation.h | 5 | ||||
-rw-r--r-- | sysdeps/htl/libc-lock.h | 19 | ||||
-rw-r--r-- | sysdeps/htl/pthread-functions.h | 2 | ||||
-rw-r--r-- | sysdeps/htl/pthreadP.h | 2 |
4 files changed, 10 insertions, 18 deletions
diff --git a/sysdeps/htl/include/bits/cancelation.h b/sysdeps/htl/include/bits/cancelation.h new file mode 100644 index 0000000..ef2cd70 --- /dev/null +++ b/sysdeps/htl/include/bits/cancelation.h @@ -0,0 +1,5 @@ +#include_next <bits/cancelation.h> + +#ifndef _ISOMAC +#include <pthreadP.h> +#endif diff --git a/sysdeps/htl/libc-lock.h b/sysdeps/htl/libc-lock.h index 66779b9..8e764a7 100644 --- a/sysdeps/htl/libc-lock.h +++ b/sysdeps/htl/libc-lock.h @@ -37,13 +37,10 @@ { \ __handler.__handler = FCT; \ __handler.__arg = ARG; \ - if (__pthread_get_cleanup_stack != NULL) \ - { \ - __handlers = __pthread_get_cleanup_stack (); \ - __handler.__next = *__handlers; \ - *__handlers = &__handler; \ - __registered = 1; \ - } \ + __handlers = __pthread_get_cleanup_stack (); \ + __handler.__next = *__handlers; \ + *__handlers = &__handler; \ + __registered = 1; \ } \ #define __libc_cleanup_end(DOIT) \ @@ -59,12 +56,4 @@ #define __libc_cleanup_push(fct, arg) __libc_cleanup_region_start (1, fct, arg) #define __libc_cleanup_pop(execute) __libc_cleanup_region_end (execute) -#if !IS_IN (libpthread) -# ifdef weak_extern -weak_extern (__pthread_get_cleanup_stack) -# else -# pragma weak __pthread_get_cleanup_stack -# endif -#endif - #endif diff --git a/sysdeps/htl/pthread-functions.h b/sysdeps/htl/pthread-functions.h index 053649f..aec13a6 100644 --- a/sysdeps/htl/pthread-functions.h +++ b/sysdeps/htl/pthread-functions.h @@ -22,7 +22,6 @@ #include <pthread.h> void __pthread_exit (void *) __attribute__ ((__noreturn__)); -struct __pthread_cancelation_handler **__pthread_get_cleanup_stack (void); void _cthreads_flockfile (FILE *); void _cthreads_funlockfile (FILE *); @@ -34,7 +33,6 @@ int _cthreads_ftrylockfile (FILE *); struct pthread_functions { void (*ptr___pthread_exit) (void *) __attribute__ ((__noreturn__)); - struct __pthread_cancelation_handler **(*ptr___pthread_get_cleanup_stack) (void); void (*ptr__IO_flockfile) (FILE *); void (*ptr__IO_funlockfile) (FILE *); int (*ptr__IO_ftrylockfile) (FILE *); diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h index 64db024..535740f 100644 --- a/sysdeps/htl/pthreadP.h +++ b/sysdeps/htl/pthreadP.h @@ -216,11 +216,11 @@ int __pthread_condattr_init (pthread_condattr_t *attr); libc_hidden_proto (__pthread_self) libc_hidden_proto (__pthread_attr_init) libc_hidden_proto (__pthread_condattr_init) +libc_hidden_proto (__pthread_get_cleanup_stack) #if IS_IN (libpthread) hidden_proto (__pthread_create) hidden_proto (__pthread_detach) -hidden_proto (__pthread_get_cleanup_stack) #endif #if !defined(__NO_WEAK_PTHREAD_ALIASES) && !IS_IN (libpthread) |