From 90e5fd5b53ef2712a2a51b89445be866d071c8eb Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 5 Jul 2021 22:53:31 +0200 Subject: [PATCH] LibC+LibPthread: Add PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP This is a common but non-standard way of initializing a pthread_mutex_t in recursive mode. --- Userland/Libraries/LibC/bits/pthread_integration.h | 5 +++++ Userland/Libraries/LibPthread/pthread.h | 1 + 2 files changed, 6 insertions(+) diff --git a/Userland/Libraries/LibC/bits/pthread_integration.h b/Userland/Libraries/LibC/bits/pthread_integration.h index 1d37ee2d44..f671cdf064 100644 --- a/Userland/Libraries/LibC/bits/pthread_integration.h +++ b/Userland/Libraries/LibC/bits/pthread_integration.h @@ -42,4 +42,9 @@ void __pthread_key_destroy_for_current_thread(); 0, 0, 0, __PTHREAD_MUTEX_NORMAL \ } +#define __PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ + { \ + 0, 0, 0, __PTHREAD_MUTEX_RECURSIVE \ + } + __END_DECLS diff --git a/Userland/Libraries/LibPthread/pthread.h b/Userland/Libraries/LibPthread/pthread.h index 220bc94c2d..68c58afafa 100644 --- a/Userland/Libraries/LibPthread/pthread.h +++ b/Userland/Libraries/LibPthread/pthread.h @@ -66,6 +66,7 @@ int pthread_setschedparam(pthread_t thread, int policy, const struct sched_param #define PTHREAD_MUTEX_RECURSIVE __PTHREAD_MUTEX_RECURSIVE #define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_NORMAL #define PTHREAD_MUTEX_INITIALIZER __PTHREAD_MUTEX_INITIALIZER +#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP __PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP #define PTHREAD_PROCESS_PRIVATE 1 #define PTHREAD_PROCESS_SHARED 2