elm_exit();
}
} else {
- LOGD("helper_agent.has_pending_event() failed!!!\n");
- impl->fini();
- elm_exit();
+ LOGE("helper_agent.has_pending_event() failed!!!\n");
}
}
}
return ECORE_CALLBACK_RENEW;
}
+Eina_Bool input_error_handler(void *data, Ecore_Fd_Handler *fd_handler)
+{
+ LOGE("I/O Error!!\n");
+ CSCLCoreImpl *impl = CSCLCoreImpl::get_instance();
+ if (impl) {
+ impl->fini();
+ elm_exit();
+ }
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
CSCLConnectionISF::CSCLConnectionISF()
{
m_initialized = FALSE;
m_fd_handler = NULL;
+ m_fd_error_handler = NULL;
m_backend_identifier = "ISF";
}
#endif
m_fd_handler = ecore_main_fd_handler_add(fd, ECORE_FD_READ, input_handler, &m_helper_agent, NULL, NULL);
+ m_fd_error_handler = ecore_main_fd_handler_add(fd, ECORE_FD_ERROR, input_error_handler, &m_helper_agent, NULL, NULL);
+
g_need_exit = TRUE;
}
}
ecore_main_fd_handler_del(m_fd_handler);
m_fd_handler = NULL;
}
+ if (m_fd_error_handler) {
+ ecore_main_fd_handler_del(m_fd_error_handler);
+ m_fd_error_handler = NULL;
+ }
m_helper_agent.update_ise_exit();
m_helper_agent.close_connection();
}