فهرست منبع

add a better patch from alpinelinux

Waldemar Brodkorb 10 سال پیش
والد
کامیت
bc3103c554
2فایلهای تغییر یافته به همراه36 افزوده شده و 1 حذف شده
  1. 1 1
      package/alsa-lib/Makefile
  2. 35 0
      package/alsa-lib/patches/patch-src_conf_c

+ 1 - 1
package/alsa-lib/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		alsa-lib
 PKG_VERSION:=		1.0.27.2
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		69129a7c37697f81ac092335e9fa452b
 PKG_DESCR:=		ALSA sound library
 PKG_SECTION:=		libs

+ 35 - 0
package/alsa-lib/patches/patch-src_conf_c

@@ -0,0 +1,35 @@
+from alpinelinux
+ http://git.alpinelinux.org/cgit/aports/tree/main/alsa-lib/alsa-lib-portable-mutex.patch
+--- alsa-lib-1.0.27.2.orig/src/conf.c	2013-07-08 14:31:36.000000000 +0200
++++ alsa-lib-1.0.27.2/src/conf.c	2013-10-02 14:32:15.000000000 +0200
+@@ -427,8 +427,8 @@ beginning:</P>
+ #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 @@ typedef struct {
+ 
+ #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);
+ }
+