[directfb] fix segmentation fault on exit
authorsmlee <smlee@dev3>
Tue, 29 May 2018 08:59:34 +0000 (17:59 +0900)
committersmlee <smlee@dev3>
Tue, 29 May 2018 08:59:34 +0000 (17:59 +0900)
meta-bsp/recipes-graphics/directfb/directfb-1.7.7/disable_linux_input_patch.diff
meta-bsp/recipes-graphics/directfb/directfb-armv7ahf-vfp-neon_1.7.7.inc

index bd2a8cc..9ac5fe6 100644 (file)
@@ -1,15 +1,27 @@
 diff --git a/inputdrivers/linux_input/linux_input.c b/inputdrivers/linux_input/linux_input.c
 diff --git a/inputdrivers/linux_input/linux_input.c b/inputdrivers/linux_input/linux_input.c
-index 2d5d8fe..dd419f9 100644
+index 7e9a6ad..c99cf49 100644
 --- a/inputdrivers/linux_input/linux_input.c
 +++ b/inputdrivers/linux_input/linux_input.c
 --- a/inputdrivers/linux_input/linux_input.c
 +++ b/inputdrivers/linux_input/linux_input.c
-@@ -1911,8 +1911,10 @@ driver_open_device( CoreInputDevice  *device,
+@@ -1901,8 +1901,12 @@ driver_open_device( CoreInputDevice  *device,
            goto driver_open_device_error;
       }
  
 +if (getenv("DISABLE_LINUX_INPUT") == 0) {
       /* start input thread */
       data->thread = direct_thread_create( DTT_INPUT, linux_input_EventThread, data, "Linux Input" );
            goto driver_open_device_error;
       }
  
 +if (getenv("DISABLE_LINUX_INPUT") == 0) {
       /* start input thread */
       data->thread = direct_thread_create( DTT_INPUT, linux_input_EventThread, data, "Linux Input" );
++} else {
++     data->thread = NULL;
 +}
  
       /* set private data pointer */
       *driver_data = data;
 +}
  
       /* set private data pointer */
       *driver_data = data;
+@@ -2044,8 +2048,10 @@ driver_close_device( void *driver_data )
+      /* stop input thread */
+      res = write( data->quitpipe[1], " ", 1 );
+      (void)res;
++if (data->thread) {
+      direct_thread_join( data->thread );
+      direct_thread_destroy( data->thread );
++}
+      close( data->quitpipe[0] );
+      close( data->quitpipe[1] );
index 942ce4e..bb727b0 100644 (file)
@@ -2,7 +2,7 @@ require directfb-${MACHINE}.inc
 
 GFX_FILE = "directfb_1.7-7_gfxdriver_${MACHINE}_${GFXPR}.tar.gz"
 
 
 GFX_FILE = "directfb_1.7-7_gfxdriver_${MACHINE}_${GFXPR}.tar.gz"
 
-PR .= "-vuplus2_${GFXPR}"
+PR .= "-vuplus3_${GFXPR}"
 
 GFX_URI ?= "http://archive.vuplus.com/download/build_support/vuplus/${GFX_FILE};name=gfxdriver "
 
 
 GFX_URI ?= "http://archive.vuplus.com/download/build_support/vuplus/${GFX_FILE};name=gfxdriver "