int qemu_init_main_loop(void) { init_clocks(); init_timer_alarm(1); qemu_clock_enable(vm_clock, false); return main_loop_init(); }
/// Loop run while idle static void main_loop_init(void) { // Run next frame, do not auto-reload static struct loop_timer frame_timer = { .timer_cb = megawifi_init_cb, .frames = 1 }; static struct loop_func megawifi_loop = { .func_cb = idle_cb }; loop_init(MW_MAX_LOOP_FUNCS, MW_MAX_LOOP_TIMERS); loop_timer_add(&frame_timer); loop_func_add(&megawifi_loop); } /// Global initialization static void init(void) { // Initialize memory pool mp_init(0); // Initialize VDP VdpInit(); // Initialize game loop main_loop_init(); // Initialize MegaWiFi mw_init(cmd_buf, MW_BUFLEN); }
static void setup(void) { app_startup(); main_loop = main_loop_get_instance(); main_loop_init(main_loop, &main_loop_options); _setup_dd(); }
int qemu_init_main_loop(void) { init_clocks(); init_timer_alarm(); return main_loop_init(); }
int main(int argc, char *argv[]) { gint rc; GOptionContext *ctx; GError *error = NULL; z_mem_trace_init("syslog-ng.trace"); g_process_set_argv_space(argc, (gchar **) argv); setup_caps(); resolved_configurable_paths_init(&resolvedConfigurablePaths); ctx = g_option_context_new("syslog-ng"); g_process_add_option_group(ctx); msg_add_option_group(ctx); g_option_context_add_main_entries(ctx, syslogng_options, NULL); main_loop_add_options(ctx); if (!g_option_context_parse(ctx, &argc, &argv, &error)) { fprintf(stderr, "Error parsing command line arguments: %s\n", error ? error->message : "Invalid arguments"); g_option_context_free(ctx); return 1; } g_option_context_free(ctx); if (argc > 1) { fprintf(stderr, "Excess number of arguments\n"); return 1; } if (display_version) { interactive_mode(); version(); return 0; } if (display_module_registry) { interactive_mode(); plugin_list_modules(stdout, TRUE); return 0; } if(startup_debug_flag && debug_flag) { startup_debug_flag = FALSE; } if(startup_debug_flag) { debug_flag = TRUE; } if (debug_flag) { log_stderr = TRUE; } if (syntax_only || debug_flag) { g_process_set_mode(G_PM_FOREGROUND); } g_process_set_name("syslog-ng"); /* in this case we switch users early while retaining a limited set of * credentials in order to initialize/reinitialize the configuration. */ g_process_start(); app_startup(); main_loop_init(); rc = main_loop_read_and_init_config(); if (rc) { g_process_startup_failed(rc, TRUE); return rc; } else { if (syntax_only) g_process_startup_failed(0, TRUE); else g_process_startup_ok(); } /* we are running as a non-root user from this point */ app_post_daemonized(); app_post_config_loaded(); if(startup_debug_flag) { debug_flag = FALSE; log_stderr = FALSE; } /* from now on internal messages are written to the system log as well */ main_loop_run(); main_loop_deinit(); app_shutdown(); z_mem_trace_dump(); g_process_finish(); return rc; }