[package] libdirectfb: When volotile keyword is not used, compiler generates code that uses old value of implementations and not the new one set by dlopen()
git-svn-id: svn://svn.openwrt.org/openwrt/packages@35386 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
a38cdb1a62
commit
378b211816
30
libs/libdirectfb/patches/002-use-volatile-keyword.patch
Normal file
30
libs/libdirectfb/patches/002-use-volatile-keyword.patch
Normal file
@ -0,0 +1,30 @@
|
||||
diff -burN DirectFB-1.4.2.orig/lib/direct/interface.c DirectFB-1.4.2/lib/direct/interface.c
|
||||
--- DirectFB-1.4.2.orig/lib/direct/interface.c 2013-01-29 13:57:25.000000000 +0100
|
||||
+++ DirectFB-1.4.2/lib/direct/interface.c 2013-01-29 13:59:37.000000000 +0100
|
||||
@@ -74,7 +74,7 @@
|
||||
} DirectInterfaceImplementation;
|
||||
|
||||
static pthread_mutex_t implementations_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
|
||||
-static DirectLink *implementations = NULL;
|
||||
+static DirectLink * volatile implementations = NULL;
|
||||
|
||||
/**************************************************************************************************/
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
D_DEBUG_AT( Direct_Interface, " -> %s | %s\n", impl->type, impl->implementation );
|
||||
|
||||
pthread_mutex_lock( &implementations_mutex );
|
||||
- direct_list_prepend( &implementations, &impl->link );
|
||||
+ direct_list_prepend( (DirectLink**)&implementations, &impl->link );
|
||||
pthread_mutex_unlock( &implementations_mutex );
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
D_MAGIC_ASSERT( impl, DirectInterfaceImplementation );
|
||||
|
||||
if (impl->funcs == funcs) {
|
||||
- direct_list_remove( &implementations, &impl->link );
|
||||
+ direct_list_remove( (DirectLink**)&implementations, &impl->link );
|
||||
|
||||
break;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user