diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-04-12 00:14:16 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-04-12 00:14:16 +0000 |
commit | 6efd481484e5d8d47b834fd034dc62f4c036d2cf (patch) | |
tree | c4bd9e169d534ceaf83f4b3f6b7f034e0e1cb379 /nptl/forward.c | |
parent | 32b0da568de098fc2d62da7cf6a06ddbaba156d7 (diff) | |
download | glibc-6efd481484e5d8d47b834fd034dc62f4c036d2cf.tar.gz glibc-6efd481484e5d8d47b834fd034dc62f4c036d2cf.tar.xz glibc-6efd481484e5d8d47b834fd034dc62f4c036d2cf.zip |
Declare __pthread_unwind. Define __do_cancel to use it. Declare old cleanup handler installation functions.
Diffstat (limited to 'nptl/forward.c')
-rw-r--r-- | nptl/forward.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/nptl/forward.c b/nptl/forward.c index 290c2d7ec6..ed3e23e68d 100644 --- a/nptl/forward.c +++ b/nptl/forward.c @@ -19,10 +19,12 @@ #include <dlfcn.h> #include <pthreadP.h> +#include <signal.h> #include <stdlib.h> #include <shlib-compat.h> #include <atomic.h> +#include <sysdep.h> /* Pointers to the libc functions. */ @@ -170,3 +172,11 @@ FORWARD (pthread_setcancelstate, (int state, int *oldstate), (state, oldstate), 0) FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0) + +FORWARD2(__pthread_unwind, + void attribute_hidden __attribute ((noreturn)) __cleanup_fct_attribute, + (__pthread_unwind_buf_t *buf), (buf), { + /* We cannot call abort() here. */ + INTERNAL_SYSCALL_DECL (err); + INTERNAL_SYSCALL (kill, err, 1, SIGKILL); + }) |