snprintf(aux, INSTR_DEFAULT_STR_SIZE, "%d#%d", src, dst);
xbt_dynar_t d = xbt_dict_get_or_null(keys, aux);
- int length = xbt_dynar_length(d);
- char *s = xbt_dynar_get_as (d, length-1, char *);
+ xbt_assert(xbt_dynar_length(d)!=0,
+ "Trying to get a link key (for message reception) that has no corresponding send (%s).", __FUNCTION__);
+ char *s = xbt_dynar_get_as (d, 0, char *);
snprintf (key, n, "%s", s);
- xbt_dynar_remove_at (d, length-1, NULL);
+ xbt_dynar_remove_at (d, 0, NULL);
return key;
}
if (TRACE_smpi_is_grouped()){
father = getContainer (SIMIX_host_self_get_name());
}else{
- father = getContainer ("0");
+ father = getRootContainer ();
}
- xbt_assert2(father!=NULL,
+ xbt_assert(father!=NULL,
"Could not find a parent for mpi rank %s at function %s", str, __FUNCTION__);
newContainer(str, INSTR_SMPI, father);
}
smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE);
container_t container = getContainer (str);
type_t type = getType ("MPI_STATE", container->type);
+ val_t value = getValue (operation, "1 1 1", type);
- new_pajePushState (SIMIX_get_clock(), container, type, operation);
+ new_pajePushState (SIMIX_get_clock(), container, type, value);
}
void TRACE_smpi_collective_out(int rank, int root, const char *operation)
smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE);
container_t container = getContainer (str);
type_t type = getType ("MPI_STATE", container->type);
+ val_t value = getValue (operation, "1 1 1", type);
- new_pajePushState (SIMIX_get_clock(), container, type, operation);
+ new_pajePushState (SIMIX_get_clock(), container, type, value);
}
void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation)