e_screensaver: fix issue screensaver is not terminated 85/301085/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Wed, 8 Nov 2023 04:56:08 +0000 (13:56 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 8 Nov 2023 05:33:30 +0000 (14:33 +0900)
'_saver->ev_update' is written in input thread, so it causes data race issue.
ecore_main_loop_thread_safe_call_async is used to call in main thread.

Change-Id: I1ca21150df67e8dbaa0b2f57b270f36b7b356cc2
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/e_screensaver.c

index b7acbec..124288e 100644 (file)
@@ -135,10 +135,16 @@ e_screensaver_timeout_get(void)
    return _saver->idletime;
 }
 
+static void
+_e_scrsaver_cb_input_async(void *data)
+{
+   _e_scrsaver_cb_input(NULL, 0, NULL);
+}
+
 E_API void
 e_screensaver_notidle(void)
 {
-   _e_scrsaver_cb_input(NULL, 0, NULL);
+   ecore_main_loop_thread_safe_call_async(_e_scrsaver_cb_input_async, NULL);
 }
 
 E_API void