e_keyrouter_wl: add missing lock for keyrouter resource list 12/321612/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Tue, 25 Mar 2025 11:59:55 +0000 (20:59 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 26 Mar 2025 01:08:05 +0000 (10:08 +0900)
Change-Id: I43951ea655bc466c6b34dcd856e96a8aa774f49b
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/server/e_keyrouter_wl.c

index 3888032d4089650f0fa2c38b05b2088461ddbcd5..74fe26667a858386863448da8cc0ad68f506d837 100644 (file)
@@ -510,7 +510,9 @@ _e_keyrouter_cb_bind(struct wl_client *client, void *data, uint32_t version, uin
         return;
      }
 
+   g_rec_mutex_lock(&g_tizen_keyrouter->resource_list_mutex);
    g_tizen_keyrouter->resources = eina_list_append(g_tizen_keyrouter->resources, resource);
+   g_rec_mutex_unlock(&g_tizen_keyrouter->resource_list_mutex);
 
    wl_resource_set_implementation(resource, &_e_keyrouter_implementation, NULL, _e_keyrouter_cb_unbind);
 
@@ -719,9 +721,12 @@ e_keyrouter_wl_shutdown(void)
         g_tizen_keyrouter->grab_surface_list = eina_list_remove(g_tizen_keyrouter->grab_surface_list, client);
      }
 
+   g_rec_mutex_lock(&g_tizen_keyrouter->resource_list_mutex);
    EINA_LIST_FREE(g_tizen_keyrouter->resources, resource)
      wl_resource_destroy(resource);
 
+   g_rec_mutex_unlock(&g_tizen_keyrouter->resource_list_mutex);
+
    if (g_tizen_keyrouter->global)
 
    wl_global_destroy(g_tizen_keyrouter->global);