void Dir_destroy(Dir *dir) { if(dir) { bdestroy(dir->base); bdestroy(dir->index_file); bdestroy(dir->normalized_base); bdestroy(dir->default_ctype); if(dir->fr_cache) Cache_destroy(dir->fr_cache); free(dir); } }
/* Функция корректного выхода. */ void correct_exit(){ for(int i = 0; i < server_pool.threads_count; i++){ pthread_cancel(server_pool.tids[i]); } zmq_close(server_pool.workers); zmq_close(server_pool.clients); zmq_ctx_destroy(server_pool.context); free(server_pool.tids); Cache_destroy(&server_pool.cache); Hash_destroy(&server_pool.hash); if(server_pool.be_verbose) syslog(LOG_INFO, "Server exit."); closelog(); exit(EXIT_SUCCESS); }
/* Function to finalize SysLink. */ Void SysLink_destroy (Void) { GT_0trace(curTrace, GT_ENTER, "SysLink_destroy"); /* Destroy the Ipc */ Ipc_destroy(); #if defined(SYSLINK_BUILDOS_QNX) Cache_destroy(); #endif /* Finalize the MemoryOS module */ MemoryOS_destroy(); GT_0trace(curTrace, GT_LEAVE, "SysLink_destroy"); }