diff options
author | Timo Teräs <timo.teras@iki.fi> | 2013-12-16 17:41:48 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2013-12-16 17:41:48 +0000 |
commit | 68515eb740b8ca1fa52cd7e2aef54f59a4798c96 (patch) | |
tree | 7b9c29b74dd40ce695c0683a9062d43d157ea615 /main/alsa-utils/alsa-utils_portable-mutex.patch | |
parent | 807e329d0a144fbb8aed10655c55bfc8a522e4b4 (diff) | |
download | aports-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.patch | 27 |
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); + } |