From 19e8a30c37ae3fd32962359cd05cafa413fe077a Mon Sep 17 00:00:00 2001 From: Ji-hoon Lee Date: Thu, 5 Sep 2019 13:21:08 +0900 Subject: [PATCH] Make timer operation run within an ecore_thread_main_loop block Change-Id: I0b719fb1938b5aba0ed374cbde176b2080ece8ad --- src/legacy_support/websocket.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/legacy_support/websocket.cpp b/src/legacy_support/websocket.cpp index 4bc9f87..63eee08 100644 --- a/src/legacy_support/websocket.cpp +++ b/src/legacy_support/websocket.cpp @@ -186,7 +186,7 @@ static Ecore_Timer *g_flush_server_recv_buffer_timer = NULL; static std::string server_recv_buffer; static Eina_Bool flush_server_recv_buffer_func(void *user) { - LOGD(""); + LOGD("flushing recv buffer"); CWebHelperAgentWebSocket *agent = CWebHelperAgentWebSocket::get_current_instance(); struct per_session_data__keyboard *pss = (struct per_session_data__keyboard *)user; @@ -335,8 +335,12 @@ static int callback_keyboard(struct lws *wsi, case LWS_CALLBACK_RECEIVE: if (in) { - if (g_flush_server_recv_buffer_timer) + if (g_flush_server_recv_buffer_timer) { + ecore_thread_main_loop_begin(); ecore_timer_del(g_flush_server_recv_buffer_timer); + g_flush_server_recv_buffer_timer = NULL; + ecore_thread_main_loop_end(); + } std::string str = (const char *)in; if (CISEMessageSerializer::valid(str)) { @@ -346,9 +350,13 @@ static int callback_keyboard(struct lws *wsi, pthread_mutex_lock(&g_ws_server_mutex); server_recv_buffer += str; + SECURE_LOGD("RECEIVE callback : [%s], [%s]", str.c_str(), server_recv_buffer.c_str()); pthread_mutex_unlock(&g_ws_server_mutex); + ecore_thread_main_loop_begin(); g_flush_server_recv_buffer_timer = ecore_timer_add(0.05, flush_server_recv_buffer_func, (void*)pss); + SECURE_LOGD("flush timer registered : %p", g_flush_server_recv_buffer_timer); + ecore_thread_main_loop_end(); } break; -- 2.34.1