#define CLIENT_CLEAN_UP_TIME 500
+#define CLIENT_PRESENCE_CHECK_TIME 30
/* for checking time */
#define TIME_DIFF(start, end) \
return EINA_FALSE;
}
+ ecore_timer_interval_set(g_check_client_timer, CLIENT_CLEAN_UP_TIME);
SLOG(LOG_DEBUG, tts_tag(), "@@@");
return EINA_TRUE;
/* unload engine, if ref count of client is 0 */
if (0 == ttsd_data_get_client_count()) {
- if (NULL == g_quit_loop_timer) {
- SLOG(LOG_DEBUG, tts_tag(), "[Server] Quit main loop");
- g_quit_loop_timer = ecore_timer_add(0, __quit_ecore_loop, NULL);
- } else {
- SLOG(LOG_WARN, tts_tag(), "[Server] Already called __quit_ecore_loop");
+ SLOG(LOG_INFO, tts_tag(), "[Server] Delay quitting ecore main loop for %d seconds.", CLIENT_PRESENCE_CHECK_TIME);
+ if (NULL != g_check_client_timer) {
+ SLOG(LOG_INFO, tts_tag(), "[Server] Delete check_client_timer");
+ ecore_timer_del(g_check_client_timer);
}
+ g_check_client_timer = ecore_timer_add(CLIENT_PRESENCE_CHECK_TIME, __cleanup_client, NULL);
}
return TTSD_ERROR_NONE;