static void initiate_shutdown() { stopgameserver(SHUTDOWN_NORMAL); event_shutdown(event_listeners(), boost::make_tuple(static_cast<int>(SHUTDOWN_NORMAL))); signal_shutdown(SHUTDOWN_NORMAL); // Now wait for the main event loop to process work that is remaining and then exit }
static void reload_hopmod_now() { event_reloadhopmod(event_listeners(), boost::make_tuple()); reloaded = true; event_shutdown(event_listeners(), boost::make_tuple(static_cast<int>(SHUTDOWN_RELOAD))); signal_shutdown(SHUTDOWN_RELOAD); signal_shutdown.disconnect_all_slots(); init_hopmod(); server::started(); std::cout<<"-> Reloaded Hopmod."<<std::endl; reloaded = false; }
void machine_shutdown(void) { file_system_detach_disk_shutdown(); machine_specific_shutdown(); autostart_shutdown(); #ifdef HAS_JOYSTICK joystick_close(); #endif sound_close(); printer_shutdown(); gfxoutput_shutdown(); fliplist_shutdown(); file_system_shutdown(); fsdevice_shutdown(); tape_shutdown(); traps_shutdown(); kbdbuf_shutdown(); keyboard_shutdown(); monitor_shutdown(); console_close_all(); cmdline_shutdown(); resources_shutdown(); drive_shutdown(); machine_maincpu_shutdown(); video_shutdown(); ui_shutdown(); sysfile_shutdown(); log_close_all(); event_shutdown(); network_shutdown(); autostart_resources_shutdown(); fsdevice_resources_shutdown(); disk_image_resources_shutdown(); machine_resources_shutdown(); sysfile_resources_shutdown(); zfile_shutdown(); ui_resources_shutdown(); log_resources_shutdown(); fliplist_resources_shutdown(); romset_resources_shutdown(); #ifdef HAVE_NETWORK monitor_network_resources_shutdown(); #endif archdep_shutdown(); lib_debug_check(); }
int main(int argc, char **argv) { static char helppath[MAXPATHLEN]; char *endnum; pmdaInterface desc; long minmem; int c, err = 0, sep = __pmPathSeparator(); __pmSetProgname(argv[0]); __pmGetUsername(&username); minmem = getpagesize(); maxmem = (minmem > DEFAULT_MAXMEM) ? minmem : DEFAULT_MAXMEM; snprintf(helppath, sizeof(helppath), "%s%c" "logger" "%c" "help", pmGetConfig("PCP_PMDAS_DIR"), sep, sep); pmdaDaemon(&desc, PMDA_INTERFACE_5, pmProgname, LOGGER, "logger.log", helppath); while ((c = pmdaGetOpt(argc, argv, "D:d:l:m:s:U:?", &desc, &err)) != EOF) { switch (c) { case 'm': maxmem = strtol(optarg, &endnum, 10); if (*endnum != '\0') convertUnits(&endnum, &maxmem); if (*endnum != '\0' || maxmem < minmem) { fprintf(stderr, "%s: invalid max memory '%s' (min=%ld)\n", pmProgname, optarg, minmem); err++; } break; case 's': if (pmParseInterval(optarg, &interval, &endnum) < 0) { fprintf(stderr, "%s: -s requires a time interval: %s\n", pmProgname, endnum); free(endnum); err++; } break; case 'U': username = optarg; break; default: err++; break; } } if (err || optind != argc -1) usage(); pmdaOpenLog(&desc); logger_init(&desc, argv[optind]); pmdaConnect(&desc); loggerMain(&desc); event_shutdown(); exit(0); }