mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Declare __pthread_unwind. Define __do_cancel to use it. Declare old cleanup handler installation functions.
This commit is contained in:
@ -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);
|
||||
})
|
||||
|
Reference in New Issue
Block a user