- smx_synchro_t synchro1 = MC_get_comm(r1);
- smx_synchro_t synchro2 = MC_get_comm(r2);
-
- switch(r1->call) {
- case SIMCALL_COMM_ISEND:
- return simcall_comm_isend__get__rdv(r1) == simcall_comm_isend__get__rdv(r2);
- case SIMCALL_COMM_IRECV:
- return simcall_comm_irecv__get__rdv(r1) == simcall_comm_irecv__get__rdv(r2);
- case SIMCALL_COMM_WAIT:
- if (synchro1->comm.src_buff == synchro2->comm.src_buff
- && synchro1->comm.dst_buff == synchro2->comm.dst_buff)
- return false;
- else if (synchro1->comm.src_buff != nullptr
- && synchro1->comm.dst_buff != nullptr
- && synchro2->comm.src_buff != nullptr
- && synchro2->comm.dst_buff != nullptr
- && synchro1->comm.dst_buff != synchro2->comm.src_buff
- && synchro1->comm.dst_buff != synchro2->comm.dst_buff
- && synchro2->comm.dst_buff != synchro1->comm.src_buff)
- return false;
- else
+ simgrid::kernel::activity::CommImpl* synchro1 = MC_get_comm(req1);
+ simgrid::kernel::activity::CommImpl* synchro2 = MC_get_comm(req2);
+
+ switch (req1->call) {
+ case SIMCALL_COMM_ISEND:
+ return simcall_comm_isend__get__mbox(req1) == simcall_comm_isend__get__mbox(req2);
+ case SIMCALL_COMM_IRECV:
+ return simcall_comm_irecv__get__mbox(req1) == simcall_comm_irecv__get__mbox(req2);
+ case SIMCALL_COMM_WAIT:
+ if (synchro1->src_buff_ == synchro2->src_buff_ && synchro1->dst_buff_ == synchro2->dst_buff_)
+ return false;
+ if (synchro1->src_buff_ != nullptr && synchro1->dst_buff_ != nullptr && synchro2->src_buff_ != nullptr &&
+ synchro2->dst_buff_ != nullptr && synchro1->dst_buff_ != synchro2->src_buff_ &&
+ synchro1->dst_buff_ != synchro2->dst_buff_ && synchro2->dst_buff_ != synchro1->src_buff_)
+ return false;
+ return true;
+ default: