diff options
author | Lauren Post <lauren.post@freescale.com> | 2013-08-19 14:17:44 -0500 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2013-08-22 09:15:35 -0700 |
commit | 46b8009d668478c5ed3e8b64c65f1de2a4dc25b3 (patch) | |
tree | 1597705ec1312fef4024f28dda8dd7ed59f53714 /meta/recipes-graphics | |
parent | 00c078ff442676acf5f4653fe8c5ebf29de811a4 (diff) | |
download | openembedded-core-46b8009d668478c5ed3e8b64c65f1de2a4dc25b3.tar.gz openembedded-core-46b8009d668478c5ed3e8b64c65f1de2a4dc25b3.tar.bz2 openembedded-core-46b8009d668478c5ed3e8b64c65f1de2a4dc25b3.zip |
directfb: add fusion patch for hangs
The following tests hang on exit: direct_test, fusion_skirmish
Signed-off-by: Lauren Post <lauren.post@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-graphics')
-rw-r--r-- | meta/recipes-graphics/directfb/directfb.inc | 3 | ||||
-rwxr-xr-x | meta/recipes-graphics/directfb/directfb/fusion.patch | 36 |
2 files changed, 38 insertions, 1 deletions
diff --git a/meta/recipes-graphics/directfb/directfb.inc b/meta/recipes-graphics/directfb/directfb.inc index 60b12f7caa..a23209fb51 100644 --- a/meta/recipes-graphics/directfb/directfb.inc +++ b/meta/recipes-graphics/directfb/directfb.inc @@ -14,7 +14,8 @@ DEPENDS = "jpeg libpng freetype zlib tslib" INC_PR = "r0" SRC_URI = "http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${PV}.tar.gz \ - file://configurefix.patch" + file://configurefix.patch \ + file://fusion.patch" S = "${WORKDIR}/DirectFB-${PV}" diff --git a/meta/recipes-graphics/directfb/directfb/fusion.patch b/meta/recipes-graphics/directfb/directfb/fusion.patch new file mode 100755 index 0000000000..1f81a6796c --- /dev/null +++ b/meta/recipes-graphics/directfb/directfb/fusion.patch @@ -0,0 +1,36 @@ +directfb: Fix for hangs in direct_test, fusion_skirmish on exit + +Upstream-Status: Pending +Signed-off-by: Lauren Post <lauren.post@freescale.com> + +--- a/lib/fusion/fusion.c 2013-01-18 22:57:11.000000000 +0800 ++++ b/lib/fusion/fusion.c 2013-07-04 10:42:56.502699119 +0800 +@@ -2853,9 +2853,14 @@ + direct_mutex_lock( &world->event_dispatcher_mutex ); + + while (1) { +- if (!world->event_dispatcher_buffers) ++ if (!world->event_dispatcher_buffers){ + direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex ); +- ++ if (world->dispatch_stop) { ++ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" ); ++ direct_mutex_unlock( &world->event_dispatcher_mutex ); ++ return NULL; ++ } ++ } + buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers; + D_MAGIC_ASSERT( buf, FusionEventDispatcherBuffer ); + +@@ -2872,6 +2877,11 @@ + //D_INFO("waiting...\n"); + D_ASSERT( buf->read_pos == buf->write_pos ); + direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex ); ++ if (world->dispatch_stop) { ++ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" ); ++ direct_mutex_unlock( &world->event_dispatcher_mutex ); ++ return NULL; ++ } + } + + buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers; |