void core_init(void) { modules_init(); #ifndef WIN32 pidwait_init(); #endif net_disconnect_init(); net_sendbuffer_init(); signals_init(); settings_init(); commands_init(); nickmatch_cache_init(); chat_protocols_init(); chatnets_init(); expandos_init(); ignore_init(); servers_init(); write_buffer_init(); log_init(); rawlog_init(); channels_init(); queries_init(); nicklist_init(); chat_commands_init(); settings_check(); }
void core_init(void) { dialog_type_queue = NULL; dialog_text_queue = NULL; client_start_time = time(NULL); modules_init(); pidwait_init(); net_disconnect_init(); signals_init(); signal_add_first("gui dialog", (SIGNAL_FUNC) sig_gui_dialog); signal_add_first("irssi init finished", (SIGNAL_FUNC) sig_init_finished); settings_init(); commands_init(); nickmatch_cache_init(); session_init(); #ifdef HAVE_CAPSICUM capsicum_init(); #endif chat_protocols_init(); chatnets_init(); expandos_init(); ignore_init(); servers_init(); write_buffer_init(); log_init(); log_away_init(); rawlog_init(); recode_init(); channels_init(); queries_init(); nicklist_init(); chat_commands_init(); wcwidth_wrapper_init(); settings_add_str("misc", "ignore_signals", ""); settings_add_bool("misc", "override_coredump_limit", FALSE); #ifdef HAVE_SYS_RESOURCE_H getrlimit(RLIMIT_CORE, &orig_core_rlimit); #endif read_settings(); signal_add("setup changed", (SIGNAL_FUNC) read_settings); signal_add("irssi init finished", (SIGNAL_FUNC) sig_irssi_init_finished); settings_check(); module_register("core", "core"); }
void core_init(int argc, char *argv[]) { dialog_type_queue = NULL; dialog_text_queue = NULL; modules_init(); #ifndef WIN32 pidwait_init(); #endif net_disconnect_init(); net_sendbuffer_init(); signals_init(); signal_add_first("gui dialog", (SIGNAL_FUNC) sig_gui_dialog); signal_add_first("irssi init finished", (SIGNAL_FUNC) sig_init_finished); settings_init(); commands_init(); nickmatch_cache_init(); session_init(); chat_protocols_init(); chatnets_init(); expandos_init(); ignore_init(); servers_init(); write_buffer_init(); log_init(); log_away_init(); rawlog_init(); recode_init(); channels_init(); queries_init(); nicklist_init(); chat_commands_init(); settings_add_str("misc", "ignore_signals", ""); settings_add_bool("misc", "override_coredump_limit", TRUE); #ifdef HAVE_SYS_RESOURCE_H getrlimit(RLIMIT_CORE, &orig_core_rlimit); #endif read_settings(); signal_add("setup changed", (SIGNAL_FUNC) read_settings); signal_add("irssi init finished", (SIGNAL_FUNC) sig_irssi_init_finished); settings_check(); module_register("core", "core"); }
void monitor_init(HMODULE module_handle) { // Sends crashes to the process rather than showing error popup boxes etc. SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOALIGNMENTFAULTEXCEPT | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX); config_t cfg; config_read(&cfg); // Required to be initialized before any logging starts. mem_init(); // Initialize capstone without our custom allocator as it is // not available yet. hook_init(module_handle); pipe_init(cfg.pipe_name); native_init(); // Re-initialize capstone with our custom allocator which is now // accessible after native_init(). hook_init2(); misc_init(module_handle, cfg.shutdown_mutex); misc_set_hook_library(&monitor_hook); diffing_init(cfg.hashes_path, cfg.diffing_enable); log_init(cfg.logpipe); ignore_init(); sleep_init(cfg.first_process, cfg.force_sleep_skip, cfg.startup_time); unhook_init_detection(cfg.first_process); hide_module_from_peb(module_handle); symbol_init(module_handle); // Should be the last as some of the other initialization routines extract // the image size, EAT pointers, etc while the PE header is still intact. destroy_pe_header(module_handle); misc_set_monitor_options(cfg.track, cfg.mode); }