#include "pthread_impl.h" | |
static void dummy(struct __ptcb* cb) {} | |
weak_alias(dummy, __do_cleanup_push); | |
weak_alias(dummy, __do_cleanup_pop); | |
void _pthread_cleanup_push(struct __ptcb* cb, void (*f)(void*), void* x) { | |
cb->__f = f; | |
cb->__x = x; | |
__do_cleanup_push(cb); | |
} | |
void _pthread_cleanup_pop(struct __ptcb* cb, int run) { | |
__do_cleanup_pop(cb); | |
if (run) | |
cb->__f(cb->__x); | |
} |