• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "pthread_impl.h"
2 
dummy(struct __ptcb * cb)3 static 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)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 
_pthread_cleanup_pop(struct __ptcb * cb,int run)16 void _pthread_cleanup_pop(struct __ptcb *cb, int run)
17 {
18 	__do_cleanup_pop(cb);
19 	if (run) cb->__f(cb->__x);
20 }
21