aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch
diff options
context:
space:
mode:
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.patch116
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) {