summaryrefslogtreecommitdiff
path: root/src/thread/pthread_join.c
blob: 5210ed4835b760769b3836e4ba0cf4fab03d9b0a (plain)
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;
}