diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2017-10-03 12:13:45 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2017-10-03 12:14:22 +0000 |
commit | 1458bb599ac455f62657a623c23f44c4910f2802 (patch) | |
tree | 393508fae0ee51ae84521da7fd48c786449a092c /main/directfb/0002-Fix-musl-PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP-comp.patch | |
parent | 278799f02dc254890fe9ed333a75167a875e3536 (diff) | |
download | aports-1458bb599ac455f62657a623c23f44c4910f2802.tar.bz2 aports-1458bb599ac455f62657a623c23f44c4910f2802.tar.xz |
main/directfb: move from testing
needed by sdl2
Diffstat (limited to 'main/directfb/0002-Fix-musl-PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP-comp.patch')
-rw-r--r-- | main/directfb/0002-Fix-musl-PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP-comp.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/main/directfb/0002-Fix-musl-PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP-comp.patch b/main/directfb/0002-Fix-musl-PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP-comp.patch new file mode 100644 index 0000000000..03b087fc2c --- /dev/null +++ b/main/directfb/0002-Fix-musl-PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP-comp.patch @@ -0,0 +1,47 @@ +--- a/lib/direct/os/linux/glibc/mutex.h ++++ b/lib/direct/os/linux/glibc/mutex.h +@@ -46,7 +46,6 @@ struct __D_DirectMutex { + /**********************************************************************************************************************/ + + #define DIRECT_MUTEX_INITIALIZER(name) { PTHREAD_MUTEX_INITIALIZER } +-#define DIRECT_RECURSIVE_MUTEX_INITIALIZER(name) { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP } + + #endif + +--- a/lib/direct/trace.c ++++ b/lib/direct/trace.c +@@ -89,7 +89,7 @@ struct __D_DirectTraceBuffer { + /**************************************************************************************************/ + + static DirectLink *buffers; +-static DirectMutex buffers_lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(buffers_lock); ++static DirectMutex buffers_lock = DIRECT_MUTEX_INITIALIZER(buffers_lock); + + /**************************************************************************************************/ + +--- a/src/directfb.c ++++ b/src/directfb.c +@@ -163,6 +163,15 @@ DirectFBSetOption( const char *name, const char *value ) + return DFB_OK; + } + ++ ++static pthread_once_t lock_init_once = PTHREAD_ONCE_INIT; ++static DirectMutex lock; ++ ++static void lock_init(void) ++{ ++ direct_recursive_mutex_init(&lock); ++} ++ + /* + * Programs have to call this to get the super interface + * which is needed to access other functions +@@ -215,7 +224,7 @@ DirectFBCreate( IDirectFB **interface_ptr ) + if (dfb_config->remote.host) + return CreateRemote( dfb_config->remote.host, dfb_config->remote.port, interface_ptr ); + +- static DirectMutex lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(lock); ++ pthread_once(&lock_init_once, lock_init); + + direct_mutex_lock( &lock ); |