From 56060c8fb401ba5c74cbc3d81d6e8a63d9127d61 Mon Sep 17 00:00:00 2001 From: JengHyun Kang Date: Mon, 4 Apr 2016 17:03:49 +0900 Subject: [PATCH] Add a pid in logs Change-Id: I7109f2756f54c72f58d02057999eb5af31656e22 --- src/e_mod_keyrouter_events.c | 62 +++++++++++++++++++++++++++++++------------- src/e_mod_main_wl.c | 8 +++--- src/e_mod_main_wl.h | 1 + 3 files changed, 49 insertions(+), 22 deletions(-) diff --git a/src/e_mod_keyrouter_events.c b/src/e_mod_keyrouter_events.c index 8dd0b04..ea9dcbc 100644 --- a/src/e_mod_keyrouter_events.c +++ b/src/e_mod_keyrouter_events.c @@ -96,8 +96,9 @@ _e_keyrouter_send_key_events_release(int type, Ecore_Event_Key *ev) if (key_node_data) { _e_keyrouter_send_key_event(type, key_node_data->surface, key_node_data->wc, ev); - KLINF("Release Pair : Key %s(%s:%d) ===> E_Client (%p) WL_Client (%p)\n", - ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, key_node_data->surface, key_node_data->wc); + KLINF("Release Pair : Key %s(%s:%d) ===> E_Client (%p) WL_Client (%p) (pid: %d)\n", + ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, + key_node_data->surface, key_node_data->wc, e_keyrouter_util_get_pid(key_node_data->wc, key_node_data->surface)); E_FREE(key_node_data); } } @@ -121,8 +122,9 @@ _e_keyrouter_send_key_events_press(int type, Ecore_Event_Key *ev) if (key_node_data) { _e_keyrouter_send_key_event(type, key_node_data->surface, key_node_data->wc, ev); - KLINF("EXCLUSIVE Mode : Key %s(%s:%d) ===> Surface (%p) WL_Client (%p)\n", - ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, key_node_data->surface, key_node_data->wc); + KLINF("EXCLUSIVE Mode : Key %s(%s:%d) ===> Surface (%p) WL_Client (%p) (pid: %d)\n", + ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, + key_node_data->surface, key_node_data->wc, e_keyrouter_util_get_pid(key_node_data->wc, key_node_data->surface)); return EINA_TRUE; } @@ -133,8 +135,9 @@ _e_keyrouter_send_key_events_press(int type, Ecore_Event_Key *ev) if (key_node_data) { _e_keyrouter_send_key_event(type, key_node_data->surface, key_node_data->wc, ev); - KLINF("OVERRIDABLE_EXCLUSIVE Mode : Key %s(%s:%d) ===> Surface (%p) WL_Client (%p)\n", - ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, key_node_data->surface, key_node_data->wc); + KLINF("OVERRIDABLE_EXCLUSIVE Mode : Key %s(%s:%d) ===> Surface (%p) WL_Client (%p) (pid: %d)\n", + ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, + key_node_data->surface, key_node_data->wc, e_keyrouter_util_get_pid(key_node_data->wc, key_node_data->surface)); return EINA_TRUE; } @@ -153,8 +156,9 @@ _e_keyrouter_send_key_events_press(int type, Ecore_Event_Key *ev) if ((EINA_FALSE == krt->isWindowStackChanged) && (surface_focus == key_node_data->surface)) { _e_keyrouter_send_key_event(type, key_node_data->surface, NULL, ev); - KLINF("TOPMOST (TOP_POSITION) Mode : Key %s (%s:%d) ===> Surface (%p)\n", - ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, key_node_data->surface); + KLINF("TOPMOST (TOP_POSITION) Mode : Key %s (%s:%d) ===> Surface (%p) (pid: %d)\n", + ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, + key_node_data->surface, e_keyrouter_util_get_pid(key_node_data->wc, key_node_data->surface)); return EINA_TRUE; } @@ -163,8 +167,9 @@ _e_keyrouter_send_key_events_press(int type, Ecore_Event_Key *ev) if (_e_keyrouter_check_top_visible_window(ec_focus, keycode)) { _e_keyrouter_send_key_event(type, key_node_data->surface, NULL, ev); - KLINF("TOPMOST (TOP_POSITION) Mode : Key %s (%s:%d) ===> Surface (%p)\n", - ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode,key_node_data->surface); + KLINF("TOPMOST (TOP_POSITION) Mode : Key %s (%s:%d) ===> Surface (%p) (pid: %d)\n", + ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, + key_node_data->surface, e_keyrouter_util_get_pid(key_node_data->wc, key_node_data->surface)); return EINA_TRUE; } @@ -176,8 +181,9 @@ _e_keyrouter_send_key_events_press(int type, Ecore_Event_Key *ev) if (krt->HardKeys[keycode].shared_ptr) { _e_keyrouter_send_key_event(type, surface_focus, NULL, ev); - KLINF("SHARED [Focus client] : Key %s (%s:%d) ===> Surface (%p)\n", - ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up "), ev->keyname, ev->keycode, surface_focus); + KLINF("SHARED [Focus client] : Key %s (%s:%d) ===> Surface (%p) (pid: %d)\n", + ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up "), ev->keyname, ev->keycode, + surface_focus, e_keyrouter_util_get_pid(key_node_data->wc, key_node_data->surface)); EINA_LIST_FOREACH(krt->HardKeys[keycode].shared_ptr, l, key_node_data) { @@ -188,8 +194,9 @@ _e_keyrouter_send_key_events_press(int type, Ecore_Event_Key *ev) if (key_node_data->surface != surface_focus) { _e_keyrouter_send_key_event(type, key_node_data->surface, key_node_data->wc, ev); - KLINF("SHARED Mode : Key %s(%s:%d) ===> Surface (%p) WL_Client (%p)\n", - ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, key_node_data->surface, key_node_data->wc); + KLINF("SHARED Mode : Key %s(%s:%d) ===> Surface (%p) WL_Client (%p) (pid: %d)\n", + ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, + key_node_data->surface, key_node_data->wc, e_keyrouter_util_get_pid(key_node_data->wc, key_node_data->surface)); } } else @@ -198,8 +205,9 @@ _e_keyrouter_send_key_events_press(int type, Ecore_Event_Key *ev) (!surface_focus)) { _e_keyrouter_send_key_event(type, key_node_data->surface, key_node_data->wc, ev); - KLINF("SHARED Mode : Key %s(%s:%d) ===> Surface (%p) WL_Client (%p)\n", - ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, key_node_data->surface, key_node_data->wc); + KLINF("SHARED Mode : Key %s(%s:%d) ===> Surface (%p) WL_Client (%p) (pid: %d)\n", + ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, + key_node_data->surface, key_node_data->wc, e_keyrouter_util_get_pid(key_node_data->wc, key_node_data->surface)); } } } @@ -228,8 +236,9 @@ _e_keyrouter_send_key_events_register(int type, Ecore_Event_Key *ev) } _e_keyrouter_send_key_event(type, krt->HardKeys[keycode].registered_ptr->surface, NULL, ev); - KLINF("REGISTER Mode : Key %s(%s:%d) ===> Surface (%p)\n", - ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, krt->HardKeys[keycode].registered_ptr->surface); + KLINF("REGISTER Mode : Key %s(%s:%d) ===> Surface (%p) (pid: %d)\n", + ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, + krt->HardKeys[keycode].registered_ptr->surface, e_keyrouter_util_get_pid(NULL, krt->HardKeys[keycode].registered_ptr->surface)); return EINA_TRUE; } @@ -377,3 +386,20 @@ e_keyrouter_util_get_surface_from_eclient(E_Client *client) return client->comp_data->wl_surface; } + +int +e_keyrouter_util_get_pid(struct wl_client *client, struct wl_resource *surface) +{ + pid_t pid = 0; + uid_t uid = 0; + gid_t gid = 0; + struct wl_client *cur_client = NULL; + + if (client) cur_client = client; + else cur_client = wl_resource_get_client(surface); + EINA_SAFETY_ON_NULL_RETURN_VAL(cur_client, 0); + + wl_client_get_credentials(cur_client, &pid, &uid, &gid); + + return pid; +} diff --git a/src/e_mod_main_wl.c b/src/e_mod_main_wl.c index 1250a68..9d918fb 100644 --- a/src/e_mod_main_wl.c +++ b/src/e_mod_main_wl.c @@ -141,7 +141,7 @@ _e_keyrouter_cb_keygrab_set(struct wl_client *client, struct wl_resource *resour int res = 0; TRACE_INPUT_BEGIN(_e_keyrouter_cb_keygrab_set); - KLINF("Key grab request (client: %p, surface: %p, key:%d, mode:%d)\n", client, surface, key, mode); + KLINF("Key grab request (client: %p, surface: %p, pid: %d, key:%d, mode:%d)\n", client, surface, e_keyrouter_util_get_pid(client, surface), key, mode); res = _e_keyrouter_keygrab_set(client, surface, key, mode); @@ -156,7 +156,7 @@ _e_keyrouter_cb_keygrab_unset(struct wl_client *client, struct wl_resource *reso int res = 0; TRACE_INPUT_BEGIN(_e_keyrouter_cb_keygrab_unset); - KLINF("Key ungrab request (client: %p, surface: %p, key:%d)\n", client, surface, key); + KLINF("Key ungrab request (client: %p, surface: %p, pid: %d, key:%d)\n", client, surface, e_keyrouter_util_get_pid(client, surface), key); res = _e_keyrouter_keygrab_unset(client, surface, key); @@ -206,7 +206,7 @@ _e_keyrouter_cb_keygrab_set_list(struct wl_client *client, struct wl_resource *r wl_array_for_each(grab_request, grab_list) { - KLINF("Grab request using list (client: %p, surface: %p, key: %d, mode: %d]\n", client, surface, grab_request->key, grab_request->mode); + KLINF("Grab request using list (client: %p, surface: %p, pid: %d, key: %d, mode: %d]\n", client, surface, e_keyrouter_util_get_pid(client, surface), grab_request->key, grab_request->mode); res = _e_keyrouter_keygrab_set(client, surface, grab_request->key, grab_request->mode); grab_result = wl_array_add(&grab_result_list, sizeof(E_Keyrouter_Grab_Result)); if (grab_result) @@ -237,7 +237,7 @@ _e_keyrouter_cb_keygrab_unset_list(struct wl_client *client, struct wl_resource wl_array_for_each(ungrab_request, ungrab_list) { - KLINF("Ungrab request using list (client: %p, surface: %p, key: %d, res: %d]\n", client, surface, *ungrab_request, res); + KLINF("Ungrab request using list (client: %p, surface: %p, pid: %d, key: %d, res: %d]\n", client, surface, e_keyrouter_util_get_pid(client, surface), *ungrab_request, res); res = _e_keyrouter_keygrab_unset(client, surface, *ungrab_request); grab_result = wl_array_add(&grab_result_list, sizeof(E_Keyrouter_Grab_Result)); if (grab_result) diff --git a/src/e_mod_main_wl.h b/src/e_mod_main_wl.h index d4ce55b..91146da 100644 --- a/src/e_mod_main_wl.h +++ b/src/e_mod_main_wl.h @@ -159,6 +159,7 @@ Eina_Bool e_keyrouter_is_registered_window(struct wl_resource *surface); void e_keyrouter_clear_registered_window(void); struct wl_resource *e_keyrouter_util_get_surface_from_eclient(E_Client *client); +int e_keyrouter_util_get_pid(struct wl_client *client, struct wl_resource *surface); void e_keyrouter_conf_init(E_Keyrouter_Config_Data *kconfig); void e_keyrouter_conf_deinit(E_Keyrouter_Config_Data *kconfig); -- 2.7.4