retry initialize when vc_widget_initialize fails 71/172071/2
authorWonnam Jang <wn.jang@samsung.com>
Fri, 29 Dec 2017 08:44:53 +0000 (17:44 +0900)
committerWonnam Jang <wn.jang@samsung.com>
Fri, 9 Mar 2018 10:26:11 +0000 (10:26 +0000)
Change-Id: I5a12cf23f502ac00683da9160f5722c8d7c1b708
Signed-off-by: Wonnam Jang <wn.jang@samsung.com>
(cherry picked from commit 9bd1b035ccd9b6a0791b484fe5627d1824c19dba)

src/vc_elm_widget_wrapper.c

index 02733944e6456b58dea13444de5026cb29e8c2d6..df9ba35dbbd7d805fe5d23e615d471c38a03bc76 100644 (file)
@@ -44,6 +44,7 @@ static void __vc_result_cb(vc_result_event_e event, vc_cmd_list_h vc_cmd_list, c
 static void __vc_show_tooltip_callback(bool show, void *data);
 static void __vc_language_changed_cb(const char *previous, const char *current, void *data);
 
+#define MAX_RETRY_CNT 20
 #define VC_CMD_ERROR_CHECK_CASE(VALUE)                         \
        case VALUE:                                             \
        VC_ELM_LOG_ERR("vc error in (%s) -> %s", msg, #VALUE);  \
@@ -91,7 +92,13 @@ int _vc_elm_widget_wrapper_initialize()
        }
        vcw.initialized = 1;
 
-       VC_ERROR_CHECK(vc_widget_initialize(&g_vc_w));
+       int retry_cnt = 0;
+       int ret = 0;
+       while (retry_cnt < MAX_RETRY_CNT && 0 != (ret = vc_widget_initialize(&g_vc_w))) {
+               VC_ELM_LOG_ERR("Fail to vc_widet_initialize, ret(%d)", ret);
+               usleep(500000);
+               retry_cnt++;
+       }
        VC_ERROR_CHECK(vc_widget_set_error_cb(g_vc_w, &__vc_error_cb, NULL));
        VC_ERROR_CHECK(vc_widget_set_show_tooltip_cb(g_vc_w, &__vc_show_tooltip_callback, NULL));
        VC_ERROR_CHECK(vc_widget_set_result_cb(g_vc_w, &__vc_result_cb, NULL));