return action;
}
-void SIMIX_pre_comm_wait(smx_req_t req)
+void SIMIX_pre_comm_wait(smx_req_t req, int idx)
{
smx_action_t action = req->comm_wait.comm;
double timeout = req->comm_wait.timeout;
req->issuer->waiting_action = action;
if (MC_IS_ENABLED){
- if(action->comm.src_proc && action->comm.dst_proc){
+ if(idx == 0){
action->state = SIMIX_DONE;
}else{
/* If we reached this point, the wait request must have a timeout */
}
}
-void SIMIX_pre_comm_testany(smx_req_t req, unsigned int idx)
+void SIMIX_pre_comm_testany(smx_req_t req, int idx)
{
unsigned int cursor;
smx_action_t action;
req->comm_testany.result = -1;
if (MC_IS_ENABLED){
- if((int)idx == -1){
+ if(idx == -1){
SIMIX_request_answer(req);
}else{
action = xbt_dynar_get_as(actions, idx, smx_action_t);
SIMIX_request_answer(req);
}
-void SIMIX_pre_comm_waitany(smx_req_t req, unsigned int idx)
+void SIMIX_pre_comm_waitany(smx_req_t req, int idx)
{
smx_action_t action;
unsigned int cursor = 0;