X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Fthread%2Fcancellation.c;h=b02cdfb093cc528413cc79f1384f19418335b0d6;hp=6dfee53971328100eeca643a975f6fe58ea93a48;hb=d5fd1fa48564a5528f53e5b1cab5063a0545d7f7;hpb=730bee725a770b543181424b52203dd1634ab5d1 diff --git a/src/thread/cancellation.c b/src/thread/cancellation.c index 6dfee539..b02cdfb0 100644 --- a/src/thread/cancellation.c +++ b/src/thread/cancellation.c @@ -1,18 +1,11 @@ #include "pthread_impl.h" -#ifdef __pthread_register_cancel -#undef __pthread_register_cancel -#undef __pthread_unregister_cancel -#undef __pthread_unwind_next -#define __pthread_register_cancel __pthread_register_cancel_3 -#define __pthread_unregister_cancel __pthread_unregister_cancel_3 -#define __pthread_unwind_next __pthread_unwind_next_3 -#endif - static void dummy(struct __ptcb *cb) { } weak_alias(dummy, __pthread_do_unwind); +weak_alias(dummy, __pthread_do_register); +weak_alias(dummy, __pthread_do_unregister); void __pthread_unwind_next(struct __ptcb *cb) { @@ -21,13 +14,10 @@ void __pthread_unwind_next(struct __ptcb *cb) void __pthread_register_cancel(struct __ptcb *cb) { - struct pthread *self = pthread_self(); - cb->__next = self->cancelbuf; - self->cancelbuf = cb; + __pthread_do_register(cb); } void __pthread_unregister_cancel(struct __ptcb *cb) { - struct pthread *self = __pthread_self(); - self->cancelbuf = self->cancelbuf->__next; + __pthread_do_unregister(cb); }