1 2 3 4 5 6 7 8 9 10 11 12
#include "pthread_impl.h" int pthread_join(pthread_t t, void **res) { int tmp = t->tid; CANCELPT_BEGIN; if (tmp) __wait(&t->tid, 0, tmp, 1); CANCELPT_END; if (res) *res = t->result; if (t->map_base) munmap(t->map_base, t->map_size); return 0; }