static void tcsd_shutdown(void) { /* order is important here: * allow all threads to complete their current request */ tcsd_threads_final(); PS_close_disk_cache(); auth_mgr_final(); (void)req_mgr_final(); conf_file_final(&tcsd_options); EVENT_LOG_final(); }
static void tcsd_shutdown(struct srv_sock_info socks_info[]) { close_server_socks(socks_info); /* order is important here: * allow all threads to complete their current request */ tcsd_threads_final(); PS_close_disk_cache(); auth_mgr_final(); (void)req_mgr_final(); conf_file_final(&tcsd_options); EVENT_LOG_final(); }
static TSS_RESULT tcsd_startup(void) { TSS_RESULT result; #ifdef TSS_DEBUG /* Set stdout to be unbuffered to match stderr and interleave output correctly */ setvbuf(stdout, (char *)NULL, _IONBF, 0); #endif if ((result = signals_init())) return result; if ((result = conf_file_init(&tcsd_options))) return result; if ((result = tcsd_threads_init())) { conf_file_final(&tcsd_options); return result; } if ((result = req_mgr_init())) { conf_file_final(&tcsd_options); return result; } if ((result = ps_dirs_init())) { conf_file_final(&tcsd_options); (void)req_mgr_final(); return result; } result = PS_init_disk_cache(); if (result != TSS_SUCCESS) { conf_file_final(&tcsd_options); (void)req_mgr_final(); return result; } if ((result = get_tpm_metrics(&tpm_metrics))) { conf_file_final(&tcsd_options); PS_close_disk_cache(); (void)req_mgr_final(); return result; } /* must happen after get_tpm_metrics() */ if ((result = auth_mgr_init())) { conf_file_final(&tcsd_options); PS_close_disk_cache(); (void)req_mgr_final(); return result; } result = EVENT_LOG_init(); if (result != TSS_SUCCESS) { auth_mgr_final(); conf_file_final(&tcsd_options); PS_close_disk_cache(); (void)req_mgr_final(); return result; } result = owner_evict_init(); if (result != TSS_SUCCESS) { auth_mgr_final(); conf_file_final(&tcsd_options); PS_close_disk_cache(); (void)req_mgr_final(); return result; } return TSS_SUCCESS; }