TRACE_smpi_recv(rank_traced, src_traced, dst_traced);
}
TRACE_smpi_ptp_out(rank_traced, src_traced, dst_traced, __FUNCTION__);
- xbt_free(srcs);
- xbt_free(dsts);
- xbt_free(recvs);
- xbt_free(comms);
-
}
+ xbt_free(srcs);
+ xbt_free(dsts);
+ xbt_free(recvs);
+ xbt_free(comms);
+
+
smpi_bench_begin();
return MPI_SUCCESS;
}
if (info == nullptr)
return MPI_ERR_ARG;
*info = xbt_new(s_smpi_mpi_info_t, 1);
- (*info)->info_dict= xbt_dict_new_homogeneous(nullptr);
+ (*info)->info_dict= xbt_dict_new_homogeneous(xbt_free_f);
(*info)->refcount=1;
return MPI_SUCCESS;
}
if (info == nullptr || key == nullptr || value == nullptr)
return MPI_ERR_ARG;
- xbt_dict_set(info->info_dict, key, (void*)value, nullptr);
+ xbt_dict_set(info->info_dict, key, xbt_strdup(value), nullptr);
return MPI_SUCCESS;
}
if (info == nullptr || newinfo==nullptr)
return MPI_ERR_ARG;
*newinfo = xbt_new(s_smpi_mpi_info_t, 1);
- (*newinfo)->info_dict= xbt_dict_new_homogeneous(nullptr);
+ (*newinfo)->info_dict= xbt_dict_new_homogeneous(xbt_free_f);
(*newinfo)->refcount=1;
xbt_dict_cursor_t cursor = nullptr;
int *key;
void* data;
xbt_dict_foreach(info->info_dict,cursor,key,data){
- xbt_dict_set((*newinfo)->info_dict, reinterpret_cast<char*>(key), data, nullptr);
+ xbt_dict_set((*newinfo)->info_dict, reinterpret_cast<char*>(key), xbt_strdup(reinterpret_cast<char*>(data)), nullptr);
}
return MPI_SUCCESS;
}