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;