{
int connection_cnt = 0;
connection_cnt = mc_svc_get_connection_cnt();
+
if ((connection_cnt == -1) || (connection_cnt > 0)) {
mc_error("[No-error] Timer is Called but there is working Process, connection_cnt = %d", connection_cnt);
- __mc_main_create_timer();
+ return G_SOURCE_CONTINUE;
} else {
mc_error("[No-error] Timer is Called. Now Killing mediacontroller process");
g_mc_timer_id = 0;
g_main_loop_quit(g_mc_mainloop);
}
- return FALSE;
+ return G_SOURCE_REMOVE;
}
-static void __mc_main_create_timer(void)
+static void __mc_main_destroy_timer(void)
{
- if (g_mc_timer_id > 0)
- g_source_destroy(g_main_context_find_source_by_id(g_main_context_get_thread_default(), g_mc_timer_id));
-
- GSource *timer_src = g_timeout_source_new_seconds(MC_MAIN_TIMEOUT_SEC_60);
- g_source_set_callback(timer_src, __mc_main_check_connection, NULL, NULL);
- g_mc_timer_id = g_source_attach(timer_src, g_main_context_get_thread_default());
+ if (g_source_remove(g_mc_timer_id))
+ g_mc_timer_id = 0;
}
-static void __mc_main_destroy_timer(void)
+static void __mc_main_create_timer(void)
{
- g_source_destroy(g_main_context_find_source_by_id(g_main_context_get_thread_default(), g_mc_timer_id));
- g_mc_timer_id = 0;
+ __mc_main_destroy_timer();
+
+ g_mc_timer_id = g_timeout_add_seconds(MC_MAIN_TIMEOUT_SEC_60, __mc_main_check_connection, NULL);
}
static int __mc_main_create_socket_activation(void)