mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
(LIBC_CANCEL_ASYNC): Also define for librt. (LIBC_CANCEL_RESET): Likewise. Declare __librt_enable_asynccancel and __librt_disable_asynccancel.
This commit is contained in:
@ -152,6 +152,14 @@ __do_cancel (void)
|
|||||||
# define LIBC_CANCEL_HANDLED() \
|
# define LIBC_CANCEL_HANDLED() \
|
||||||
__asm (".globl " __SYMBOL_PREFIX "__pthread_enable_asynccancel"); \
|
__asm (".globl " __SYMBOL_PREFIX "__pthread_enable_asynccancel"); \
|
||||||
__asm (".globl " __SYMBOL_PREFIX "__pthread_disable_asynccancel")
|
__asm (".globl " __SYMBOL_PREFIX "__pthread_disable_asynccancel")
|
||||||
|
#elif defined NOT_IN_libc && defined IS_IN_librt
|
||||||
|
# define LIBC_CANCEL_ASYNC() \
|
||||||
|
__librt_enable_asynccancel ()
|
||||||
|
# define LIBC_CANCEL_RESET(val) \
|
||||||
|
__librt_disable_asynccancel (val)
|
||||||
|
# define LIBC_CANCEL_HANDLED() \
|
||||||
|
__asm (".globl " __SYMBOL_PREFIX "__librt_enable_asynccancel"); \
|
||||||
|
__asm (".globl " __SYMBOL_PREFIX "__librt_disable_asynccancel")
|
||||||
#else
|
#else
|
||||||
# define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */
|
# define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */
|
||||||
# define LIBC_CANCEL_RESET(val) ((void)(val)) /* Nothing, but evaluate it. */
|
# define LIBC_CANCEL_RESET(val) ((void)(val)) /* Nothing, but evaluate it. */
|
||||||
@ -342,6 +350,12 @@ extern int __libc_enable_asynccancel (void) attribute_hidden;
|
|||||||
extern void __libc_disable_asynccancel (int oldtype)
|
extern void __libc_disable_asynccancel (int oldtype)
|
||||||
internal_function attribute_hidden;
|
internal_function attribute_hidden;
|
||||||
|
|
||||||
|
|
||||||
|
/* The two functions are in librt.so and not exported. */
|
||||||
|
extern int __librt_enable_asynccancel (void) attribute_hidden;
|
||||||
|
extern void __librt_disable_asynccancel (int oldtype)
|
||||||
|
internal_function attribute_hidden;
|
||||||
|
|
||||||
#ifdef IS_IN_libpthread
|
#ifdef IS_IN_libpthread
|
||||||
/* Special versions which use non-exported functions. */
|
/* Special versions which use non-exported functions. */
|
||||||
extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
|
extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
|
||||||
|
Reference in New Issue
Block a user