return DST_PROC_DIFF;
if (comm1->tag != comm2->tag)
return TAG_DIFF;
- if (comm1->data_size != comm2->data_size)
+ if (comm1->data.size() != comm2->data.size())
return DATA_SIZE_DIFF;
- if(comm1->data == nullptr && comm2->data == NULL)
- return NONE_DIFF;
- if(comm1->data != nullptr && comm2->data !=NULL) {
- if (!memcmp(comm1->data, comm2->data, comm1->data_size))
- return NONE_DIFF;
- return DATA_DIFF;
- } else
+ if (comm1->data != comm2->data)
return DATA_DIFF;
return NONE_DIFF;
}
comm_pattern->dst_proc = dst_proc->pid;
comm_pattern->src_host = MC_smx_process_get_host_name(src_proc);
comm_pattern->dst_host = MC_smx_process_get_host_name(dst_proc);
- if (comm_pattern->data_size == -1 && comm.comm.src_buff != nullptr) {
+ if (comm_pattern->data.size() == 0 && comm.comm.src_buff != nullptr) {
size_t buff_size;
mc_model_checker->process().read(
&buff_size, remote(comm.comm.dst_buff_size));
- comm_pattern->data_size = buff_size;
- comm_pattern->data = xbt_malloc0(comm_pattern->data_size);
+ comm_pattern->data.resize(buff_size);
mc_model_checker->process().read_bytes(
- comm_pattern->data, comm_pattern->data_size,
+ comm_pattern->data.data(), comm_pattern->data.size(),
remote(comm.comm.src_buff));
}
}
incomplete_communications_pattern, issuer->pid, xbt_dynar_t);
mc_comm_pattern_t pattern = new s_mc_comm_pattern_t();
- pattern->data_size = -1;
- pattern->data = nullptr;
pattern->index =
initial_pattern->index_comm + xbt_dynar_length(incomplete_pattern);
pattern->tag = mpi_request.tag;
if(synchro.comm.src_buff != nullptr){
- pattern->data_size = synchro.comm.src_buff_size;
- pattern->data = xbt_malloc0(pattern->data_size);
+ pattern->data.resize(synchro.comm.src_buff_size);
mc_model_checker->process().read_bytes(
- pattern->data, pattern->data_size, remote(synchro.comm.src_buff));
+ pattern->data.data(), pattern->data.size(),
+ remote(synchro.comm.src_buff));
}
if(mpi_request.detached){
if (!simgrid::mc::initial_global_state->initial_communications_pattern_done) {
res->type = comm->type;
res->comm_addr = comm->comm_addr;
res->rdv = comm->rdv;
- res->data_size = -1;
- res->data = nullptr;
- if (comm->type == SIMIX_COMM_SEND) {
- res->src_proc = comm->src_proc;
- res->src_host = comm->src_host;
- if (comm->data != nullptr) {
- res->data_size = comm->data_size;
- res->data = xbt_malloc0(comm->data_size);
- memcpy(res->data, comm->data, comm->data_size);
- }
- } else {
- res->dst_proc = comm->dst_proc;
- res->dst_host = comm->dst_host;
- }
+ res->data = comm->data;
+ res->dst_proc = comm->dst_proc;
+ res->dst_host = comm->dst_host;
return res;
}