RemotePtr<kernel::activity::MailboxImpl> mbox_addr;
switch (req->call_) {
case Simcall::COMM_ISEND:
- case Simcall::COMM_IRECV: {
- auto mbox_addr_ptr = simix::unmarshal<smx_mailbox_t>(req->args_[1]);
- mbox_addr = remote(mbox_addr_ptr);
+ case Simcall::COMM_IRECV:
+ mbox_addr = remote(simix::unmarshal<smx_mailbox_t>(req->args_[1]));
break;
- }
default:
mbox_addr = RemotePtr<kernel::activity::MailboxImpl>();
break;
RemotePtr<kernel::activity::ActivityImpl> comm_addr;
switch (req->call_) {
case Simcall::COMM_ISEND:
- case Simcall::COMM_IRECV: {
- auto comm_addr_ptr = simgrid::simix::unmarshal_raw<simgrid::kernel::activity::ActivityImpl*>(req->result_);
- comm_addr = remote(comm_addr_ptr);
+ case Simcall::COMM_IRECV:
+ comm_addr = remote(simgrid::simix::unmarshal_raw<simgrid::kernel::activity::ActivityImpl*>(req->result_));
break;
- }
default:
comm_addr = RemotePtr<kernel::activity::ActivityImpl>();
break;
transition->call_ = simcall_call;
switch (simcall_call) {
case Simcall::COMM_ISEND:
- case Simcall::COMM_IRECV: {
+ case Simcall::COMM_IRECV:
transition->mbox_remote_addr = get_mbox_remote_addr(simcall);
transition->comm_remote_addr = get_comm_remote_addr(simcall);
break;
- }
default:
break;
void Api::execute(Transition& transition, smx_simcall_t simcall) const
{
/* FIXME: once all simcalls have observers, kill the simcall parameter and use mc_model_checker->simcall_to_string() */
- auto textual =
- simgrid::mc::Api::get().request_to_string(simcall, transition.times_considered_, RequestType::executed);
- strcpy((char*)transition.textual, textual.c_str());
-
+ transition.textual = request_to_string(simcall, transition.times_considered_, RequestType::executed);
session->execute(transition);
}