1 #include "pthread_impl.h" 2 dummy(struct __ptcb * cb)3static void dummy(struct __ptcb *cb) 4 { 5 } 6 weak_alias(dummy, __do_cleanup_push); 7 weak_alias(dummy, __do_cleanup_pop); 8 _pthread_cleanup_push(struct __ptcb * cb,void (* f)(void *),void * x)9void _pthread_cleanup_push(struct __ptcb *cb, void (*f)(void *), void *x) 10 { 11 cb->__f = f; 12 cb->__x = x; 13 __do_cleanup_push(cb); 14 } 15 _pthread_cleanup_pop(struct __ptcb * cb,int run)16void _pthread_cleanup_pop(struct __ptcb *cb, int run) 17 { 18 __do_cleanup_pop(cb); 19 if (run) cb->__f(cb->__x); 20 } 21