Merge "Change filter_event to return true even read_from_socket fails" into tizen_3.0
authorJihoon Kim <jihoon48.kim@samsung.com>
Wed, 1 Feb 2017 00:37:27 +0000 (16:37 -0800)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Wed, 1 Feb 2017 00:37:27 +0000 (16:37 -0800)
ism/src/scim_helper.cpp

index f797532..bb489a7 100644 (file)
@@ -823,15 +823,21 @@ HelperAgent::has_pending_event () const
 bool
 HelperAgent::filter_event ()
 {
-    if (!m_impl->socket.is_connected () || !m_impl->recv.read_from_socket (m_impl->socket, m_impl->timeout))
+    if (!m_impl->socket.is_connected ()) {
+        LOGW("Connection lost, returning false");
         return false;
+    }
 
-    message_queue.read_from_transaction(m_impl->recv);
+    if (m_impl->recv.read_from_socket (m_impl->socket, m_impl->timeout)) {
+        message_queue.read_from_transaction(m_impl->recv);
 
-    while (message_queue.has_pending_message()) {
-        MessageItem *message = message_queue.get_pending_message();
-        handle_message(message);
-        message_queue.remove_message(message);
+        while (message_queue.has_pending_message()) {
+            MessageItem *message = message_queue.get_pending_message();
+            handle_message(message);
+            message_queue.remove_message(message);
+        }
+    } else {
+        LOGD("read_from_socket() failed but continuing");
     }
 
     return true;