/** * The end of all things */ void main_fini(void) { prop_destroy_by_name(prop_get_global(), "popups"); fini_group(INIT_GROUP_API); TRACE(TRACE_DEBUG, "core", "API group finished"); fini_group(INIT_GROUP_IPC); TRACE(TRACE_DEBUG, "core", "IPC group finished"); #if ENABLE_PLAYQUEUE playqueue_fini(); TRACE(TRACE_DEBUG, "core", "Playqueue finished"); #endif audio_fini(); TRACE(TRACE_DEBUG, "core", "Audio finished"); nav_fini(); TRACE(TRACE_DEBUG, "core", "Navigator finished"); backend_fini(); TRACE(TRACE_DEBUG, "core", "Backend finished"); shutdown_hook_run(0); TRACE(TRACE_DEBUG, "core", "Slow shutdown hooks finished"); blobcache_fini(); TRACE(TRACE_DEBUG, "core", "Blobcache finished"); #if ENABLE_METADATA metadb_fini(); TRACE(TRACE_DEBUG, "core", "Metadb finished"); #endif kvstore_fini(); notifications_fini(); htsmsg_store_flush(); TRACE(TRACE_DEBUG, "core", APPNAMEUSER" terminated normally"); trace_fini(); }
/** * The end of all things */ void showtime_fini(void) { audio_fini(); backend_fini(); TRACE(TRACE_DEBUG, "core", "Backend finished"); shutdown_hook_run(0); TRACE(TRACE_DEBUG, "core", "Slow shutdown hooks finished"); blobcache_fini(); TRACE(TRACE_DEBUG, "core", "Blobcache finished"); metadb_fini(); TRACE(TRACE_DEBUG, "core", "Metadb finished"); kvstore_fini(); notifications_fini(); TRACE(TRACE_DEBUG, "core", "Showtime terminated normally"); trace_fini(); }