Revert "e_comp_wl_input: postpone keyboard unbind until completing in input thread" 97/310897/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Thu, 9 May 2024 08:17:40 +0000 (17:17 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 9 May 2024 08:44:35 +0000 (17:44 +0900)
This reverts commit 745c9df68c7d4f8023a440ed799c169ea0dae3cb.

Change-Id: I6ad5a6304eaf403aaac3582875e331fb2bcba485

src/bin/e_comp_wl_input.c

index ffbe5b1..637e19f 100644 (file)
 #include <relative-pointer-unstable-v1-server-protocol.h>
 #include <pointer-constraints-unstable-v1-server-protocol.h>
 
-static GCond keyboard_unbind_cond;
-static GMutex keyboard_unbind_mutex;
-static int keyboard_unbind_completed = 0;
-
 #define EXECUTIVE_MODE_ENABLED
 
 typedef struct _E_Comp_Wl_Pointer_Constraint E_Comp_Wl_Pointer_Constraint;
@@ -354,37 +350,13 @@ _e_comp_wl_input_thread_cb_keyboard_unbind(void *data)
      if (res == resource)
        e_comp_input_key->kbd.focused =
          eina_list_remove_list(e_comp_input_key->kbd.focused, l);
-
-   g_mutex_lock(&keyboard_unbind_mutex);
-   keyboard_unbind_completed = 1;
-   INF("[input thread|%s] send signal", __func__);
-
-   g_cond_signal(&keyboard_unbind_cond);
-   g_mutex_unlock(&keyboard_unbind_mutex);
-
-   INF("[input thread|%s] finish", __func__);
 }
 
 static void
 _e_comp_wl_input_cb_keyboard_unbind(struct wl_resource *resource)
 {
    INF("[keyboard unbind] resource(%p)\n", resource);
-
-   g_mutex_lock(&keyboard_unbind_mutex);
-   keyboard_unbind_completed = 0;
-   g_mutex_unlock(&keyboard_unbind_mutex);
-
    e_input_thread_safe_call(_e_comp_wl_input_thread_cb_keyboard_unbind, &resource, sizeof(struct wl_resource *));
-
-   INF("[keyboard unbind] wait for input thread");
-
-   g_mutex_lock(&keyboard_unbind_mutex);
-   while (!keyboard_unbind_completed)
-     g_cond_wait(&keyboard_unbind_cond, &keyboard_unbind_mutex);
-
-   g_mutex_unlock(&keyboard_unbind_mutex);
-
-   INF("[keyboard unbind] finish");
 }
 
 void
@@ -1596,10 +1568,6 @@ e_comp_wl_input_init(void)
    g_mutex_init(&e_comp_wl->xkb.keymap_mutex);
    g_mutex_init(&e_comp_wl->xkb.state_mutex);
 
-   g_mutex_init(&keyboard_unbind_mutex);
-
-   g_cond_init(&keyboard_unbind_cond);
-
    /* get default keyboard repeat delay from configuration */
    atomic_store(&e_comp_input_key->kbd.repeat_delay, e_config->keyboard.repeat_delay);
    /* check for valid repeat_delay */
@@ -1717,8 +1685,6 @@ e_comp_wl_input_shutdown(void)
 
    g_mutex_clear(&e_comp_wl->kbd.resource_mutex);
    g_mutex_clear(&e_comp_wl->kbd.focused_mutex);
-   g_mutex_clear(&keyboard_unbind_mutex);
-   g_cond_clear(&keyboard_unbind_cond);
 
    /* destroy touch resources */
    EINA_LIST_FREE(e_comp_wl->touch.resources, res)