github.com/afumu/libc@v0.0.6/musl/src/thread/pthread_cleanup_push.c (about) 1 #include "pthread_impl.h" 2 3 static void dummy(struct __ptcb *cb) 4 { 5 } 6 weak_alias(dummy, __do_cleanup_push); 7 weak_alias(dummy, __do_cleanup_pop); 8 9 void _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 16 void _pthread_cleanup_pop(struct __ptcb *cb, int run) 17 { 18 __do_cleanup_pop(cb); 19 if (run) cb->__f(cb->__x); 20 }