diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-06-15 20:45:32 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-06-15 20:45:32 +0000 |
commit | 1fde494e69792603263bdf85819831f00d29cee4 (patch) | |
tree | 59b63456222bf38a3ebeb218f21b8656ec5c1704 /nptl | |
parent | 2b4500480e460c344b8def37c716328bf3b1d970 (diff) | |
download | glibc-1fde494e69792603263bdf85819831f00d29cee4.zip glibc-1fde494e69792603263bdf85819831f00d29cee4.tar.gz glibc-1fde494e69792603263bdf85819831f00d29cee4.tar.bz2 |
(LIBC_CANCEL_ASYNC): Also define for librt. (LIBC_CANCEL_RESET): Likewise. Declare __librt_enable_asynccancel and __librt_disable_asynccancel.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/pthreadP.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index a979f07..e10589c 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -152,6 +152,14 @@ __do_cancel (void) # define LIBC_CANCEL_HANDLED() \ __asm (".globl " __SYMBOL_PREFIX "__pthread_enable_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 # define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */ # 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) 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 /* Special versions which use non-exported functions. */ extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, |