summaryrefslogtreecommitdiff
path: root/src/threads/mtx_init.c
blob: f3db0ed859e970a97a77ad526d52e9b93c8e4966 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <threads.h>
#include <pthread.h>

int mtx_init(mtx_t *mtx, int type)
{
	pthread_mutexattr_t attr;
	pthread_mutexattr_init(&attr);
	if (type & mtx_recursive) {
		pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
	} else {
		pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_DEFAULT);
	}
	return pthread_mutex_init(mtx, &attr);
}