/* ==================== server_free() ==================== */ void server_free(server_t *server) { /* FIXME */ exit_server_work_queue(server); int i; for ( i = 0 ; i < VNODES ; i++ ){ vnode_t *vnode = server->vnodes[i]; if ( vnode != NULL ){ vnode_free(vnode); server->vnodes[i] = NULL; } } for ( i = 0 ; i < LOGFILES ; i++ ) { logfile_t *logfile = server->logfiles[i]; if ( logfile != NULL ) { logfile_close(logfile); logfile_free(logfile); server->logfiles[i] = NULL; } } connection_destroy(&server->connection); pthread_mutex_destroy(&server->send_pending_lock); pthread_cond_destroy(&server->send_pending_cond); zfree(server); }
void LogfileList_done(void) { Logfile *curr, *last; curr = firstLog; while (curr) { last = curr; curr = last->next; logfile_free(last); } firstLog = NULL; }