struct context * core_start(struct instance *nci) { struct context *ctx; //last = dn_msec_now(); mbuf_init(nci); msg_init(); conn_init(); ctx = core_ctx_create(nci); if (ctx != NULL) { nci->ctx = ctx; if (TRACING_LEVEL == LOG_VVERB) { crypto_check(); } return ctx; } conn_deinit(); msg_deinit(); dmsg_deinit(); mbuf_deinit(); return NULL; }
void app_shutdown(void) { run_application_hook(AH_SHUTDOWN); log_template_global_deinit(); log_tags_global_deinit(); log_msg_global_deinit(); stats_destroy(); child_manager_deinit(); g_list_foreach(application_hooks, (GFunc) g_free, NULL); g_list_free(application_hooks); dns_cache_thread_deinit(); dns_cache_global_deinit(); hostname_global_deinit(); crypto_deinit(); msg_deinit(); /* NOTE: the iv_deinit() call should come here, but there's some exit * synchronization issue in libivykis that causes use-after-free with the * thread-local-state for the main thread and iv_work_pool worker threads. * I've dropped a mail to Lennert about the issue, but I'm commenting this * out for now to avoid it biting someone. Bazsi, 2013/12/23. * * iv_deinit(); */ }
void core_stop(struct context *ctx) { conn_deinit(); msg_deinit(); mbuf_deinit(); core_ctx_destroy(ctx); }
void teardown(void) { control_server_connection_closed(control_server, control_connection); control_server_free(control_server); msg_deinit(); reset_control_command_list(); }
void app_shutdown(void) { run_application_hook(AH_SHUTDOWN); log_tags_deinit(); stats_destroy(); dns_cache_destroy(); child_manager_deinit(); g_list_foreach(application_hooks, (GFunc) g_free, NULL); g_list_free(application_hooks); msg_deinit(); }
static void _teardown(void) { _free_test(); if (test_cfg->persist) { persist_config_free(test_cfg->persist); test_cfg->persist = NULL; } cfg_free(test_cfg); log_msg_registry_deinit(); msg_deinit(); }
int main(int argc, char** argv) { struct arguments args; set_default_args(&args); if (parse_args(argc, argv, &args)) { return 1; } PersistEntryHandle handle; struct journald_state* journald_state = NULL; msg_init(TRUE); PersistState* state = persist_state_new(args.filename); gsize state_size; guint8 persist_version; persist_state_start_dump(state); switch (args.action) { case LIST: persist_state_foreach_entry(state, &handle_entry, NULL); break; case SHOW_JOURNALD_CURSOR: handle = persist_state_lookup_entry(state, systemd_journal, &state_size, &persist_version); if (handle == 0) break; journald_state = persist_state_map_entry(state, handle); printf("journald cursor: %s\n", journald_state->cursor); persist_state_unmap_entry(state, handle); break; case SAVE_JOURNALD_CURSOR: handle = persist_state_alloc_entry(state, systemd_journal, sizeof(struct journald_state)); if (handle == 0) break; journald_state = persist_state_map_entry(state, handle); journald_state->header.version = 0; journald_state->header.big_endian = (G_BYTE_ORDER == G_BIG_ENDIAN); strncpy(journald_state->cursor, args.action_arg.journald_cursor, MAX_CURSOR_LENGTH); persist_state_unmap_entry(state, handle); persist_state_commit(state); break; default:; } persist_state_free(state); msg_deinit(); return 0; }
struct context * core_start(struct instance *nci) { struct context *ctx; mbuf_init(nci); msg_init(); conn_init(); ctx = core_ctx_create(nci); if (ctx != NULL) { nci->ctx = ctx; return ctx; } conn_deinit(); msg_deinit(); mbuf_deinit(); return NULL; }
static void deinit(void) { gui_main_deinit(); msg_deinit(); data_deinit(); }