void pressed_file_configure() { spawn_dd tdata; spawn_row *rp; char txt[64], *s; int i, j; rp = tdata.strs = calloc(FACTION_ROWS_TOTAL, sizeof(spawn_row)); if (!rp) return; // Not enough memory for (i = 1; i <= FACTION_ROWS_TOTAL; i++ , rp++) { for (j = 0; j < 3; j++) { sprintf(txt, faction_ini[j], i); s = inifile_get(txt, ""); if (!j) strncpy0(rp->name, s, sizeof(rp->name)); else if (j == 1) gtkuncpy(rp->cmd, s, sizeof(rp->cmd)); else strncpy0(rp->dir, s, sizeof(rp->dir)); } } tdata.name = tdata.cmd = ""; tdata.dir[0] = '\0'; tdata.idx = -1; tdata.nidx = 0; tdata.cnt = FACTION_ROWS_TOTAL; tdata.lock = FALSE; run_create(spawn_code, &tdata, sizeof(tdata)); }
void cndfs_shared_init (run_t *run) { HREassert (GRED.g == 0); HREassert (GGREEN.g == 1); HREassert (GDANGEROUS.g == 2); set_alg_local_init (run->alg, cndfs_local_init); set_alg_global_init (run->alg, cndfs_global_init); set_alg_global_deinit (run->alg, cndfs_global_deinit); set_alg_local_deinit (run->alg, cndfs_local_deinit); set_alg_print_stats (run->alg, cndfs_print_stats); set_alg_run (run->alg, endfs_blue); set_alg_state_seen (run->alg, cndfs_state_seen); set_alg_reduce (run->alg, cndfs_reduce); if (run->shared != NULL) return; run->shared = RTmallocZero (sizeof(alg_shared_t)); run->shared->color_bit_shift = 0; run->shared->top_level = run; run->shared->run_is_stopped = run_get_is_stopped (run); run->shared->run_stop = run_get_stop (run); run_set_is_stopped (run, cndfs_is_stopped); run_set_stop (run, cndfs_stop); int i = 1; run_t *previous = run; run_t *next = NULL; while (strategy[i] != Strat_None) { next = run_create (false); next->shared = RTmallocZero (sizeof(alg_shared_t)); next->shared->previous = previous; next->shared->top_level = run; next->shared->rec = NULL; run_set_is_stopped (next, cndfs_is_stopped); run_set_stop (next, cndfs_stop); next->shared->color_bit_shift = previous->shared->color_bit_shift + num_global_bits (strategy[i]); alg_shared_init_strategy (next, strategy[i]); previous->shared->rec = next; previous = next; i++; } }
void run_test(int nargs, char* args[]) { if (nargs < 2) { return; } struct timespec start, end; char* dbname = args[1]; drop_buffer_cache(); trace_loader_t loader; load_trace(&loader, args[2], atoi(args[3])); struct MetaDB mdb; metadb_init(&mdb, dbname); enable_monitor_thread(&mdb); clock_gettime(CLOCK_MONOTONIC, &start); get_metric(); if (strcmp(args[4], "create") == 0) { run_create(mdb, &loader, atoi(args[5])); } else { run_query(mdb, &loader, atoi(args[5]), atoi(args[6]), atoi(args[7])); } clock_gettime(CLOCK_MONOTONIC, &end); disable_monitor_thread(); metadb_close(mdb); get_metric(); uint64_t timeElapsed = timespecDiff(&end, &start); timeElapsed = timespecDiff(&end, &start); printf("%s.%d %d %.1f \n", args[4], num_test, (int) time(NULL), timeElapsed/1.0); destroy_trace_loader(&loader); drop_buffer_cache(); }
int main(int argc, char *argv[]) { enum COMMAND cmd; show_banner(); switch (parse_commandline(argc, argv)) { case COMMAND_INSTALL: return run_install(param0, param1); case COMMAND_REMOVE: return run_remove(param0); case COMMAND_CREATE: return run_create(param0, param2, param1); case COMMAND_UNPACK: return run_unpack(param0, param1); case COMMAND_UNDEFINED: default: show_usage(); return 1; } return EXIT_SUCCESS; }