Add client cleanup code 46/177446/1
authorsungrae jo <seongrae.jo@samsung.com>
Mon, 30 Apr 2018 04:31:41 +0000 (13:31 +0900)
committersungrae jo <seongrae.jo@samsung.com>
Mon, 30 Apr 2018 04:31:41 +0000 (13:31 +0900)
Change-Id: Ia645bb071a54092ac9ddefe8099a834a8c2b273d
Signed-off-by: sungrae jo <seongrae.jo@samsung.com>
server/vcd_server.c

index 872e95bc9438a5b5d0e7563ef3bfb6266107f039..5ac186998b82f7addea7bc4fe47845574587ebc5 100644 (file)
@@ -33,6 +33,7 @@
 #include "voice_control_command_expand.h"
 #include "voice_control_common.h"
 
+#define CLIENT_CLEAN_UP_TIME 500
 /*
 * VC Server static variable
 */
@@ -40,6 +41,7 @@ static GList *g_proc_list = NULL;
 
 static Ecore_Timer *g_restart_timer = NULL;
 static Ecore_Timer *g_check_widget_client_timer = NULL;
+static Ecore_Timer *g_check_client_timer = NULL;
 
 /**
 * @brief Enumerations of send event type.
@@ -1172,6 +1174,12 @@ int vcd_initialize(vce_request_callback_s *callback)
        vcd_config_set_service_state(VCD_STATE_READY);
        vcdc_send_service_state(VCD_STATE_READY);
 
+       /* Set timer cleanup client all */
+       g_check_client_timer = ecore_timer_add(CLIENT_CLEAN_UP_TIME, vcd_cleanup_client_all, NULL);
+       if (NULL == g_check_client_timer) {
+               SLOG(LOG_WARN, TAG_VCD, "[Server Warning] Fail to create timer of client check");
+       }
+
        SLOG(LOG_ERROR, TAG_VCD, "[Server SUCCESS] initialize");
 
        return 0;
@@ -1188,11 +1196,16 @@ bool vcd_finalize()
                }
        }
 
-       if (g_restart_timer != NULL) {
+       if (NULL != g_restart_timer) {
                ecore_timer_del(g_restart_timer);
                g_restart_timer = NULL;
        }
 
+       if (NULL != g_check_client_timer) {
+               ecore_timer_del(g_check_client_timer);
+               g_check_client_timer = NULL;
+       }
+
        vcd_state_e state = vcd_config_get_service_state();
        if (VCD_STATE_READY != state) {
                if (VCD_STATE_RECORDING == state) {