diff options
Diffstat (limited to 'meta/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch')
-rw-r--r-- | meta/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/meta/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch b/meta/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch deleted file mode 100644 index ac48f68db7..0000000000 --- a/meta/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch +++ /dev/null @@ -1,116 +0,0 @@ -Remove use of DIRECT_RECURSIVE_MUTEX_INITIALIZER its not portable -use portable way to initialize recursive mutex using pthread_once() and direct_recursive_mutex_init() - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Index: DirectFB-1.7.7/lib/direct/os/linux/glibc/mutex.h -=================================================================== ---- DirectFB-1.7.7.orig/lib/direct/os/linux/glibc/mutex.h -+++ DirectFB-1.7.7/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 - -Index: DirectFB-1.7.7/lib/direct/trace.c -=================================================================== ---- DirectFB-1.7.7.orig/lib/direct/trace.c -+++ DirectFB-1.7.7/lib/direct/trace.c -@@ -89,8 +89,15 @@ struct __D_DirectTraceBuffer { - /**************************************************************************************************/ - - static DirectLink *buffers; --static DirectMutex buffers_lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(buffers_lock); - -+static pthread_once_t buffers_lock_init_once = PTHREAD_ONCE_INIT; -+static DirectMutex buffers_lock; -+ -+static void -+buffers_lock_init( void ) -+{ -+ direct_recursive_mutex_init(&buffers_lock); -+} - /**************************************************************************************************/ - - __dfb_no_instrument_function__ -@@ -113,6 +120,7 @@ get_trace_buffer( void ) - - D_MAGIC_SET( buffer, DirectTraceBuffer ); - -+ pthread_once(&buffers_lock_init_once, buffers_lock_init); - direct_mutex_lock( &buffers_lock ); - direct_list_append( &buffers, &buffer->link ); - direct_mutex_unlock( &buffers_lock ); -@@ -138,8 +146,14 @@ typedef struct { - } SymbolTable; - - static DirectLink *tables = NULL; --static DirectMutex tables_lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(tables_lock); -+static pthread_once_t tables_lock_init_once = PTHREAD_ONCE_INIT; -+static DirectMutex tables_lock; - -+static void -+tables_lock_init( void ) -+{ -+ direct_recursive_mutex_init(&tabless_lock); -+} - - __dfb_no_instrument_function__ - static void -@@ -370,6 +384,7 @@ direct_trace_lookup_symbol( const char * - Symbol *symbol; - SymbolTable *table; - -+ pthread_once(&tables_lock_init_once, tables_lock_init); - direct_mutex_lock( &tables_lock ); - - table = find_table( filename ); -@@ -514,6 +529,7 @@ direct_trace_print_stacks() - DirectTraceBuffer *b; - DirectTraceBuffer *buffer = get_trace_buffer(); - -+ pthread_once(&buffers_lock_init_once, buffers_lock_init); - direct_mutex_lock( &buffers_lock ); - - if (buffer && buffer->level) -@@ -611,6 +627,7 @@ direct_trace_free_buffer( DirectTraceBuf - D_MAGIC_ASSERT( buffer, DirectTraceBuffer ); - - if (buffer->thread) { -+ pthread_once(&buffers_lock_init_once, buffers_lock_init); - direct_mutex_lock( &buffers_lock ); - direct_list_remove( &buffers, &buffer->link ); - direct_mutex_unlock( &buffers_lock ); -Index: DirectFB-1.7.7/src/directfb.c -=================================================================== ---- DirectFB-1.7.7.orig/src/directfb.c -+++ DirectFB-1.7.7/src/directfb.c -@@ -99,6 +99,15 @@ const unsigned int directfb_micro_versio - const unsigned int directfb_binary_age = DIRECTFB_BINARY_AGE; - const unsigned int directfb_interface_age = DIRECTFB_INTERFACE_AGE; - -+static pthread_once_t lock_init_once = PTHREAD_ONCE_INIT; -+static DirectMutex lock; -+ -+static void -+lock_init( void ) -+{ -+ direct_recursive_mutex_init(&lock); -+} -+ - const char * - DirectFBCheckVersion( unsigned int required_major, - unsigned int required_minor, -@@ -215,8 +224,7 @@ DirectFBCreate( IDirectFB **interface_pt - 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 ); - - if (!dfb_config->no_singleton && idirectfb_singleton) { |