summaryrefslogtreecommitdiff
path: root/src/threads/mtx_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/threads/mtx_init.c')
-rw-r--r--src/threads/mtx_init.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/threads/mtx_init.c b/src/threads/mtx_init.c
new file mode 100644
index 00000000..f3db0ed8
--- /dev/null
+++ b/src/threads/mtx_init.c
@@ -0,0 +1,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);
+}