- s_smx_synchro_t comm;
- mc_model_checker->process().read(&comm, remote(comm_addr));
-
- smx_process_t src_proc = mc_model_checker->process().resolveProcess(
- simgrid::mc::remote(comm.comm.src_proc));
- smx_process_t dst_proc = mc_model_checker->process().resolveProcess(
- simgrid::mc::remote(comm.comm.dst_proc));
+ // HACK, type punning
+ simgrid::mc::Remote<simgrid::kernel::activity::Comm> temp_comm;
+ mc_model_checker->process().read(temp_comm, comm_addr);
+ simgrid::kernel::activity::Comm* comm =
+ static_cast<simgrid::kernel::activity::Comm*>(temp_comm.getBuffer());
+
+ smx_actor_t src_proc = mc_model_checker->process().resolveProcess(
+ simgrid::mc::remote(comm->src_proc));
+ smx_actor_t dst_proc = mc_model_checker->process().resolveProcess(
+ simgrid::mc::remote(comm->dst_proc));