diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-02-13 19:58:30 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-02-13 19:58:30 -0500 |
commit | 1a9a2ff7b0daf99100db53440a0b18b2801566ca (patch) | |
tree | 2dba96173c946fc846059f65e4651bc648353ff5 /src/thread/cancellation.c | |
parent | 50e26f09eb13f6568113a05dbcfe94a6b1010da0 (diff) | |
download | musl-1a9a2ff7b0daf99100db53440a0b18b2801566ca.tar.gz musl-1a9a2ff7b0daf99100db53440a0b18b2801566ca.tar.bz2 musl-1a9a2ff7b0daf99100db53440a0b18b2801566ca.tar.xz musl-1a9a2ff7b0daf99100db53440a0b18b2801566ca.zip |
reorganize thread exit code, make pthread_exit call cancellation handlers (pt2)
Diffstat (limited to 'src/thread/cancellation.c')
-rw-r--r-- | src/thread/cancellation.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/src/thread/cancellation.c b/src/thread/cancellation.c index e35ba824..ac1af30a 100644 --- a/src/thread/cancellation.c +++ b/src/thread/cancellation.c @@ -7,16 +7,8 @@ void __pthread_register_cancel(struct __ptcb *cb) self->cancelbuf = cb; } -#define pthread_self __pthread_self - void __pthread_unregister_cancel(struct __ptcb *cb) { - struct pthread *self = pthread_self(); + struct pthread *self = __pthread_self(); self->cancelbuf = self->cancelbuf->__next; } - -void __pthread_unwind_next(struct __ptcb *cb) -{ - if (cb->__next) longjmp((void *)cb->__next->__jb, 1); - pthread_exit(PTHREAD_CANCELLED); -} |