From: Wonnam Jang Date: Thu, 17 Aug 2017 10:23:04 +0000 (+0900) Subject: Use thread instead of ecore time X-Git-Tag: accepted/tizen/4.0/unified/20170905.175034~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=11d3773711c381e817bcaef1b06c659e33e0b42d;p=platform%2Fcore%2Fuifw%2Fvoice-control.git Use thread instead of ecore time Change-Id: I0f043182067478e8ab804a899eccb84a325e0de5 Signed-off-by: Wonnam Jang --- diff --git a/client/vc_mgr.c b/client/vc_mgr.c index fa15f7d..eb5e8e9 100644 --- a/client/vc_mgr.c +++ b/client/vc_mgr.c @@ -313,19 +313,49 @@ static Eina_Bool __vc_mgr_connect_daemon(void *data) return EINA_FALSE; } -static Eina_Bool __vc_mgr_prepare_daemon(void *data) +static void __start_prepare_thread(void *data, Ecore_Thread *thread) { + SLOG(LOG_ERROR, TAG_VCM, "===== Start prepare thread"); + int ret = 1, retry_count = 0; + /* Send hello */ - if (0 != vc_mgr_dbus_request_hello()) { - return EINA_TRUE; + while (ret) { + + if (retry_count == 10) { + SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to request hello !!"); + return; + } + + ret = vc_mgr_dbus_request_hello(); + if (ret == 0) { + SLOG(LOG_DEBUG, TAG_VCM, "Success to request hello. retry count(%d)", retry_count); + break; + } else { + retry_count++; + } } - g_m_connect_timer = NULL; - SLOG(LOG_DEBUG, TAG_VCM, "===== [Manager] Connect daemon"); + ret = 1; + retry_count = 0; - g_m_connect_timer = ecore_idler_add(__vc_mgr_connect_daemon, data); + while (ret) { + if (retry_count == 10) { + SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to connect daemon !!"); + return; + } + ret = __vc_mgr_connect_daemon(NULL); + if (ret == 0) + break; + else + retry_count++; + } - return EINA_FALSE; + return; +} + +static void __end_prepare_thread(void *data, Ecore_Thread *thread) +{ + SLOG(LOG_DEBUG, TAG_VCM, "===== End prepare thread"); } int vc_mgr_prepare() @@ -348,7 +378,7 @@ int vc_mgr_prepare() return VC_ERROR_INVALID_STATE; } - g_m_connect_timer = ecore_timer_add(0, __vc_mgr_prepare_daemon, NULL); + ecore_thread_run(__start_prepare_thread, __end_prepare_thread, NULL, NULL); SLOG(LOG_DEBUG, TAG_VCM, "====="); SLOG(LOG_DEBUG, TAG_VCM, " ");