#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); | |
} |