summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/alsa-utils/APKBUILD6
-rw-r--r--main/alsa-utils/alsa-utils_portable-mutex.patch27
2 files changed, 32 insertions, 1 deletions
diff --git a/main/alsa-utils/APKBUILD b/main/alsa-utils/APKBUILD
index d1b9cb258..1b788bc50 100644
--- a/main/alsa-utils/APKBUILD
+++ b/main/alsa-utils/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=alsa-utils
pkgver=1.0.27.2
-pkgrel=0
+pkgrel=1
pkgdesc="Advanced Linux Sound Architecture Utils (alsactl, alsamixer, etc.)"
url="http://www.alsa-project.org"
arch="all"
@@ -11,6 +11,7 @@ makedepends="alsa-lib-dev pciutils-dev ncurses-dev"
depends="dialog"
subpackages="$pkgname-doc alsaconf"
source="ftp://ftp.alsa-project.org/pub/utils/$pkgname-$pkgver.tar.bz2
+ alsa-utils_portable-mutex.patch
alsaconf.patch
alsa.initd
alsa.confd
@@ -56,14 +57,17 @@ alsaconf() {
}
md5sums="b65e9a04181bd7c9db7667a4566f8dc3 alsa-utils-1.0.27.2.tar.bz2
+09fdba7a9ad005874b83e6066a1f4379 alsa-utils_portable-mutex.patch
5e65f278b5a77e3ee2821ad955c4cd91 alsaconf.patch
b1b7eca57f5ddf64db5527193d62f268 alsa.initd
85b1f1e759fe5953eca329237f4ac256 alsa.confd"
sha256sums="02bfac39092f3b68d743c23ad3d688d6c5aa8df69f2ccd692c5b8282edb352ea alsa-utils-1.0.27.2.tar.bz2
+9ff84967047d60ab9f635df4aeded9220dd41f71206e3be33425877c285c0b34 alsa-utils_portable-mutex.patch
b99468473fe20de4fac3aeae833612837ff1cb576e68674463fe1efd0aed6d19 alsaconf.patch
765cda11c23003f81ae61d30a5db78d10f4de1dd2ba273a46715b0fc292d4391 alsa.initd
e5d26a6ea993540ca2d67aee4b40f1351b13f2c8023d53cb67c22cb3707e72de alsa.confd"
sha512sums="c9a4943852ec1a71a5a8d2c99e1df0ba96a5d9d1196cabfdb6655f58c6a9a5a9d40dea62de019f5ed0fad0885800403c48a4a6c86b67af7fbd842097881c2bd6 alsa-utils-1.0.27.2.tar.bz2
+0863ab69301ec7e0cab4ac6130f3d0268a8ca82d3697a6632e366b11a66b57a0339fa61da46718a6aa588b3af9d3e5f3466e7296ae3c020d9cf5d9d3df227761 alsa-utils_portable-mutex.patch
bc9f1297574fe4d5bd9baa3f299d68684182f1e6eeb51c862cd6236563516f57a160a00d6607540830aebbb8c4352faf416a981edc878e8a256cbbcc95648614 alsaconf.patch
4b6da76ae190679f39056303f2fb67d6f9ea344a350d381abfaf1abc52e6ec373554326655da79ffc5f2eda2437ffd79ed6d0f10d9737d16b1bcd064430e8ca0 alsa.initd
a2ae4d3f7e7bbd799d69ede7e1f052147ebbf2763d8ef6c061832208e330aebe72b112cd36f227645b4543c5388a45db8c0a534a9ec4b6351cfad6584ad6922c alsa.confd"
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 000000000..5def7830d
--- /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);
+ }