diff options
author | Timo Teräs <timo.teras@iki.fi> | 2013-09-27 14:04:50 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2013-09-27 14:22:24 +0000 |
commit | 392988ed3d9401f39ab7fed37a8d76de993eda8b (patch) | |
tree | 3808e3213159e018bebda1b23f66a08152fbb3e6 /main/alsa-lib/alsa-lib-portable-mutex.patch | |
parent | 8c1eeed3e8232fde1d7f46153adc5612d1701e35 (diff) | |
download | aports-392988ed3d9401f39ab7fed37a8d76de993eda8b.tar.bz2 aports-392988ed3d9401f39ab7fed37a8d76de993eda8b.tar.xz |
main/alsa-lib: fix musl build
fix various idiotic constructs. patches are mostly from sabotage,
but some I wrote myself too.
Diffstat (limited to 'main/alsa-lib/alsa-lib-portable-mutex.patch')
-rw-r--r-- | main/alsa-lib/alsa-lib-portable-mutex.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/main/alsa-lib/alsa-lib-portable-mutex.patch b/main/alsa-lib/alsa-lib-portable-mutex.patch new file mode 100644 index 0000000000..5ef530c38a --- /dev/null +++ b/main/alsa-lib/alsa-lib-portable-mutex.patch @@ -0,0 +1,33 @@ +--- alsa-lib-1.0.27.2.orig/src/conf.c ++++ alsa-lib-1.0.27.2/src/conf.c +@@ -427,8 +427,8 @@ + #ifndef DOC_HIDDEN + + #ifdef HAVE_LIBPTHREAD +-static pthread_mutex_t snd_config_update_mutex = +- PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; ++static pthread_mutex_t snd_config_update_mutex; ++static pthread_once_t snd_config_update_mutex_once = PTHREAD_ONCE_INIT; + #endif + + struct _snd_config { +@@ -472,8 +472,19 @@ + + #ifdef HAVE_LIBPTHREAD + ++static void snd_config_init_mutex(void) ++{ ++ pthread_mutexattr_t attr; ++ ++ pthread_mutexattr_init(&attr); ++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); ++ pthread_mutex_init(&snd_config_update_mutex, &attr); ++ pthread_mutexattr_destroy(&attr); ++} ++ + static inline void snd_config_lock(void) + { ++ pthread_once(&snd_config_update_mutex_once, snd_config_init_mutex); + pthread_mutex_lock(&snd_config_update_mutex); + } + |