/* -------------------------------------------------------------------------- * * Destroy heap * * -------------------------------------------------------------------------- */ void dlink_shutdown(void) { log(dlink_log, L_status, "Shutting down [dlink] module..."); mem_static_destroy(&dlink_heap); log_source_unregister(dlink_log); }
/* -------------------------------------------------------------------------- * * -------------------------------------------------------------------------- */ void servauth_collect(void) { connect_collect(); dlink_collect(); log_collect(); timer_collect(); log_source_unregister(servauth_log); exit(0); }
/* -------------------------------------------------------------------------- * * Shut down the chanmode module * * -------------------------------------------------------------------------- */ void chanmode_shutdown(void) { log(chanmode_log, L_status, "Shutting down [chanmode] module..."); ircd_support_unset("MODES"); ircd_support_unset("MAXBANS"); mem_static_destroy(&chanmode_item_heap); mem_static_destroy(&chanmode_heap); log_source_unregister(chanmode_log); }
/* -------------------------------------------------------------------------- * * Destroy class heap and cancel timer. * * -------------------------------------------------------------------------- */ void class_shutdown(void) { struct class *clptr; struct class *next; log(class_log, L_status, "Shutting down [class] module..."); dlink_foreach_safe(&class_list, clptr, next) class_delete(clptr); mem_static_destroy(&class_heap); log_source_unregister(class_log); }
/* -------------------------------------------------------------------------- * * Destroy game heaps and cancel timer. * * -------------------------------------------------------------------------- */ void player_shutdown(void) { struct player *player; struct node *next; log(player_log, L_status, "Shutting down [player] module..."); dlink_foreach_safe(&player_list, player, next) player_delete(player); mem_static_destroy(&player_heap); log_source_unregister(player_log); }
/* ------------------------------------------------------------------------ * * Shutdown I/O code. * * ------------------------------------------------------------------------ */ void io_shutdown(void) { size_t i; /* Close all fds */ for(i = 0; i < IO_MAX_FDS; i++) if(io_list[i].type) { queue_destroy(&io_list[i].sendq); queue_destroy(&io_list[i].recvq); io_destroy(i); } log_source_unregister(io_log); }
int main(int argc, char **argv) { #ifdef HAVE_FT2 const char *text = "Test text!"; const char *font = "arial.ttf"; const char *file = "ttftest.gif"; const char *bg = "heading-yellow.gif"; const char *color = "#000000"; log_init(STDOUT_FILENO, LOG_ALL, L_warning); io_init_except(STDOUT_FILENO, STDOUT_FILENO, STDOUT_FILENO); mem_init(); dlink_init(); gif_init(); image_init(); ttf_init(); ttftest_log = log_source_register("ttftest"); log_level(LOG_ALL, L_verbose); if(argc > 1) text = argv[1]; if(argc > 2) font = argv[2]; if(argc > 3) file = argv[3]; if(argc > 4) bg = argv[4]; if(argc > 5) color = argv[5]; ttftest_write(text, font, file, bg, color); log_level(LOG_ALL, L_warning); log_source_unregister(ttftest_log); ttf_shutdown(); image_shutdown(); gif_shutdown(); dlink_shutdown(); mem_shutdown(); log_shutdown(); io_shutdown(); #endif return 0; }
/* -------------------------------------------------------------------------- * * Clean things up. * * -------------------------------------------------------------------------- */ void servauth_shutdown(void) { log(servauth_log, L_status, "Shutting down servauth..."); syscall_exit(0); connect_shutdown(); io_shutdown(); queue_shutdown(); dlink_shutdown(); mem_shutdown(); log_shutdown(); timer_shutdown(); log_source_unregister(servauth_log); }