snprintf(aux, INSTR_DEFAULT_STR_SIZE, "%d#%d", src, dst);
xbt_dynar_t d = xbt_dict_get_or_null(keys, aux);
if (d == NULL) {
- d = xbt_dynar_new(sizeof(char *), xbt_free);
+ d = xbt_dynar_new(sizeof(char *), &xbt_free_ref);
xbt_dict_set(keys, aux, d, xbt_free);
}
//generate the key
static unsigned long long counter = 0;
snprintf(key, n, "%d%d%lld", src, dst, counter++);
- xbt_dynar_insert_at(d, 0, xbt_strdup(key));
+ //push it
+ char *a = (char*)xbt_strdup(key);
+ xbt_dynar_push_as(d, char *, a);
+
return key;
}
xbt_dynar_t d = xbt_dict_get_or_null(keys, aux);
int length = xbt_dynar_length(d);
- char stored_key[n];
- xbt_dynar_remove_at(d, length - 1, stored_key);
- strncpy(key, stored_key, n);
+ char *s = xbt_dynar_get_as (d, length-1, char *);
+ snprintf (key, n, "%s", s);
+ xbt_dynar_remove_at (d, length-1, NULL);
return key;
}
char str[INSTR_DEFAULT_STR_SIZE];
TRACE_smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE);
- pajeCreateContainer(SIMIX_get_clock(), str, "MPI_PROCESS",
- SIMIX_host_get_name(SIMIX_host_self()), str);
+ if (TRACE_smpi_is_grouped()){
+ pajeCreateContainer(SIMIX_get_clock(), str, "MPI_PROCESS",
+ SIMIX_host_self_get_name(), str);
+ }else{
+ pajeCreateContainer(SIMIX_get_clock(), str, "MPI_PROCESS",
+ "platform", str);
+ }
}
void TRACE_smpi_finalize(int rank)