int main(int argc, char **argv) { unsigned int ctr, ctr2; const SD_workstation_t *workstations; int total_nworkstations; xbt_dynar_t current_storage_list; char *mount_name; SD_init(&argc, argv); /* Set the workstation model to default, as storage is not supported by the * ptask_L07 model yet. */ SD_config("workstation/model", "default"); SD_create_environment(argv[1]); workstations = SD_workstation_get_list(); total_nworkstations = SD_workstation_get_number(); for (ctr=0; ctr<total_nworkstations;ctr++){ current_storage_list = SD_workstation_get_storage_list(workstations[ctr]); xbt_dynar_foreach(current_storage_list, ctr2, mount_name) XBT_INFO("Workstation '%s' mounts '%s'", SD_workstation_get_name(workstations[ctr]), mount_name); xbt_dynar_free_container(¤t_storage_list); } SD_exit(); return 0; }
void surf_presolve(void) { double next_event_date = -1.0; tmgr_trace_event_t event = NULL; double value = -1.0; ResourcePtr resource = NULL; ModelPtr model = NULL; unsigned int iter; XBT_DEBUG ("First Run! Let's \"purge\" events and put models in the right state"); while ((next_event_date = tmgr_history_next_date(history)) != -1.0) { if (next_event_date > NOW) break; while ((event = tmgr_history_get_next_event_leq(history, next_event_date, &value, (void **) &resource))) { if (value >= 0){ resource->updateState(event, value, NOW); } } } xbt_dynar_foreach(model_list, iter, model) model->updateActionsState(NOW, 0.0); }
static void xbt_test_test_dump(xbt_test_test_t test) { if (test) { xbt_test_log_t log; unsigned int it_log; fprintf(stderr, " test %p(%s:%d)=%s (%s)\n", test, test->file, test->line, test->title, test->failed ? "failed" : "not failed"); xbt_dynar_foreach(test->logs, it_log, log) xbt_test_log_dump(log); } else fprintf(stderr, " test=NULL\n"); }
static void xbt_test_unit_dump(xbt_test_unit_t unit) { if (unit) { xbt_test_test_t test; unsigned int it_test; fprintf(stderr, " UNIT %s: %s (%s)\n", unit->name, unit->title, (unit->enabled ? "enabled" : "disabled")); if (unit->enabled) xbt_dynar_foreach(unit->tests, it_test, test) xbt_test_test_dump(test); } else { fprintf(stderr, " unit=NULL\n"); } }
static void action_waitall(const char *const *action){ double clock = smpi_process_simulated_elapsed(); int count_requests=0; unsigned int i=0; count_requests=xbt_dynar_length(reqq[smpi_comm_rank(MPI_COMM_WORLD)]); if (count_requests>0) { MPI_Request requests[count_requests]; MPI_Status status[count_requests]; /* The reqq is an array of dynars. Its index corresponds to the rank. Thus each rank saves its own requests to the array request. */ xbt_dynar_foreach(reqq[smpi_comm_rank(MPI_COMM_WORLD)],i,requests[i]); #ifdef HAVE_TRACING //save information from requests xbt_dynar_t srcs = xbt_dynar_new(sizeof(int), NULL); xbt_dynar_t dsts = xbt_dynar_new(sizeof(int), NULL); xbt_dynar_t recvs = xbt_dynar_new(sizeof(int), NULL); for (i = 0; i < count_requests; i++) { if(requests[i]){ int *asrc = xbt_new(int, 1); int *adst = xbt_new(int, 1); int *arecv = xbt_new(int, 1); *asrc = requests[i]->src; *adst = requests[i]->dst; *arecv = requests[i]->recv; xbt_dynar_insert_at(srcs, i, asrc); xbt_dynar_insert_at(dsts, i, adst); xbt_dynar_insert_at(recvs, i, arecv); xbt_free(asrc); xbt_free(adst); xbt_free(arecv); }else { int *t = xbt_new(int, 1); xbt_dynar_insert_at(srcs, i, t); xbt_dynar_insert_at(dsts, i, t); xbt_dynar_insert_at(recvs, i, t); xbt_free(t); } }