aboutsummaryrefslogtreecommitdiffstats
path: root/main/alsa-utils/alsa-utils_portable-mutex.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2013-12-16 17:41:48 +0000
committerTimo Teräs <timo.teras@iki.fi>2013-12-16 17:41:48 +0000
commit68515eb740b8ca1fa52cd7e2aef54f59a4798c96 (patch)
tree7b9c29b74dd40ce695c0683a9062d43d157ea615 /main/alsa-utils/alsa-utils_portable-mutex.patch
parent807e329d0a144fbb8aed10655c55bfc8a522e4b4 (diff)
downloadaports-68515eb740b8ca1fa52cd7e2aef54f59a4798c96.tar.bz2
aports-68515eb740b8ca1fa52cd7e2aef54f59a4798c96.tar.xz
main/alsa-utils: fix musl build
Diffstat (limited to 'main/alsa-utils/alsa-utils_portable-mutex.patch')
-rw-r--r--main/alsa-utils/alsa-utils_portable-mutex.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/main/alsa-utils/alsa-utils_portable-mutex.patch b/main/alsa-utils/alsa-utils_portable-mutex.patch
new file mode 100644
index 0000000000..5def7830d7
--- /dev/null
+++ b/main/alsa-utils/alsa-utils_portable-mutex.patch
@@ -0,0 +1,27 @@
+--- alsa-utils-1.0.27.2.org/alsaloop/pcmjob.c
++++ alsa-utils-1.0.27.2/alsaloop/pcmjob.c
+@@ -62,11 +62,22 @@
+ };
+ #endif
+
+-static pthread_mutex_t pcm_open_mutex =
+- PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
++static pthread_once_t pcm_open_mutex_once = PTHREAD_ONCE_INIT;
++static pthread_mutex_t pcm_open_mutex;
+
++static void pcm_open_init_mutex(void)
++{
++ pthread_mutexattr_t attr;
++
++ pthread_mutexattr_init(&attr);
++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
++ pthread_mutex_init(&pcm_open_mutex, &attr);
++ pthread_mutexattr_destroy(&attr);
++}
++
+ static inline void pcm_open_lock(void)
+ {
++ pthread_once(&pcm_open_mutex_once, pcm_open_init_mutex);
+ if (workarounds & WORKAROUND_SERIALOPEN)
+ pthread_mutex_lock(&pcm_open_mutex);
+ }