(LIBC_CANCEL_ASYNC): Also define for librt.
authordrepper <drepper>
Sun, 15 Jun 2003 20:45:32 +0000 (20:45 +0000)
committerdrepper <drepper>
Sun, 15 Jun 2003 20:45:32 +0000 (20:45 +0000)
(LIBC_CANCEL_RESET): Likewise.
Declare __librt_enable_asynccancel and __librt_disable_asynccancel.

nptl/pthreadP.h

index a979f07..e10589c 100644 (file)
@@ -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,