From 3dabf815cc210162285ea99ac0196526df33f59c Mon Sep 17 00:00:00 2001 From: InHong Han Date: Fri, 6 Dec 2019 16:46:01 +0900 Subject: [PATCH] Used PING message to prevent deadlock Change-Id: I8ef985cca6deb54f0e1f2c72a6dccf33cab3d06e --- ism/src/isf_message_queue.h | 4 ++++ ism/src/scim_helper.cpp | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/ism/src/isf_message_queue.h b/ism/src/isf_message_queue.h index 15e6d92..ae595e0 100644 --- a/ism/src/isf_message_queue.h +++ b/ism/src/isf_message_queue.h @@ -809,6 +809,10 @@ public: return (m_list_messages.size() > 0); } + int get_message_size() { + return m_list_messages.size(); + } + MessageItem* get_pending_message() { MessageItem* ret = NULL; diff --git a/ism/src/scim_helper.cpp b/ism/src/scim_helper.cpp index 73f5faa..7876555 100644 --- a/ism/src/scim_helper.cpp +++ b/ism/src/scim_helper.cpp @@ -2150,6 +2150,8 @@ HelperAgent::get_surrounding_text (int maxlen_before, int maxlen_after, String & m_impl->surrounding_text = NULL; } + LOGD("message_queue size : %d", message_queue.get_message_size()); + m_impl->send.clear (); m_impl->send.put_command(SCIM_TRANS_CMD_REQUEST); m_impl->send.put_data(m_impl->magic_active); @@ -2237,6 +2239,14 @@ HelperAgent::get_selection_text (String &text) free (m_impl->selection_text); m_impl->selection_text = NULL; } + + LOGD("message_queue size : %d", message_queue.get_message_size()); + + m_impl->send.clear (); + m_impl->send.put_command(SCIM_TRANS_CMD_REQUEST); + m_impl->send.put_data(m_impl->magic_active); + m_impl->send.put_command(SCIM_TRANS_CMD_PING); + m_impl->send.write_to_socket(m_impl->socket_active, m_impl->magic_active); } /** -- 2.7.4