From: Ji-hoon Lee Date: Thu, 5 Sep 2019 04:21:08 +0000 (+0900) Subject: Make timer operation run within an ecore_thread_main_loop block X-Git-Tag: submit/tizen/20190905.051817~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F02%2F213402%2F2;p=platform%2Fcore%2Fuifw%2Flibscl-core.git Make timer operation run within an ecore_thread_main_loop block Change-Id: I0b719fb1938b5aba0ed374cbde176b2080ece8ad --- 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;