summaryrefslogtreecommitdiff
path: root/linuxthreads/internals.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-06-17 22:40:05 +0000
committerUlrich Drepper <drepper@redhat.com>2003-06-17 22:40:05 +0000
commitf23b30e23b93d55dfa6f11e8eaa7f0f9dd492d93 (patch)
tree21ec8f3fd1769e3bf02b158288c8a1d371539311 /linuxthreads/internals.h
parent60d73a7ac4e0116ef2e458d705aeee14aff7aed9 (diff)
Update.
2003-06-17 Jakub Jelinek <jakub@redhat.com> * posix/regcomp.c (build_word_op): Use alnum instead of alpha class.
Diffstat (limited to 'linuxthreads/internals.h')
-rw-r--r--linuxthreads/internals.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h
index d3b8bbe5e6..69923e9b77 100644
--- a/linuxthreads/internals.h
+++ b/linuxthreads/internals.h
@@ -257,6 +257,7 @@ static inline int nonexisting_handle(pthread_handle h, pthread_t id)
/* Defined and used in libc.so. */
extern int __libc_multiple_threads attribute_hidden;
+extern int __librt_multiple_threads;
/* Debugging */
@@ -468,6 +469,10 @@ extern int __libc_enable_asynccancel (void) attribute_hidden;
extern void __libc_disable_asynccancel (int oldtype)
internal_function attribute_hidden;
+/* The two functions are in libc.so and are exported. */
+extern int __librt_enable_asynccancel (void);
+extern void __librt_disable_asynccancel (int oldtype) internal_function;
+
extern void __pthread_cleanup_upto (__jmp_buf target,
char *targetframe) attribute_hidden;
extern pid_t __pthread_fork (struct fork_block *b) attribute_hidden;
@@ -480,7 +485,7 @@ extern pid_t __pthread_fork (struct fork_block *b) attribute_hidden;
# define LIBC_CANCEL_HANDLED() \
__asm (".globl " __SYMBOL_PREFIX "__libc_enable_asynccancel"); \
__asm (".globl " __SYMBOL_PREFIX "__libc_disable_asynccancel")
-#elif defined NOT_IN_libc && defined IS_IN_libpthread
+#elif defined IS_IN_libpthread
# define LIBC_CANCEL_ASYNC() \
__pthread_enable_asynccancel ()
# define LIBC_CANCEL_RESET(oldtype) \
@@ -488,6 +493,14 @@ extern pid_t __pthread_fork (struct fork_block *b) attribute_hidden;
# define LIBC_CANCEL_HANDLED() \
__asm (".globl " __SYMBOL_PREFIX "__pthread_enable_asynccancel"); \
__asm (".globl " __SYMBOL_PREFIX "__pthread_disable_asynccancel")
+#elif defined IS_IN_librt
+# define LIBC_CANCEL_ASYNC() \
+ __librt_enable_asynccancel ()
+# define LIBC_CANCEL_RESET(oldtype) \
+ __librt_disable_asynccancel (oldtype)
+# 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. */