+ label = xbt::string_printf("[(%ld)] iRecv", issuer->get_pid());
+ break;
+
+ case SIMCALL_COMM_WAIT:
+ if (value == -1) {
+ if (issuer->get_host())
+ label = xbt::string_printf("[(%ld)%s] WaitTimeout", issuer->get_pid(), MC_smx_actor_get_host_name(issuer));
+ else
+ label = xbt::string_printf("[(%ld)] WaitTimeout", issuer->get_pid());
+ } else {
+ kernel::activity::ActivityImpl* remote_act = simcall_comm_wait__getraw__comm(req);
+ Remote<kernel::activity::CommImpl> temp_comm;
+ mc_model_checker->process().read(temp_comm, remote(static_cast<kernel::activity::CommImpl*>(remote_act)));
+ const kernel::activity::CommImpl* comm = temp_comm.get_buffer();
+
+ const kernel::actor::ActorImpl* src_proc =
+ mc_model_checker->process().resolve_actor(mc::remote(comm->src_actor_.get()));
+ const kernel::actor::ActorImpl* dst_proc =
+ mc_model_checker->process().resolve_actor(mc::remote(comm->dst_actor_.get()));
+ if (issuer->get_host())
+ label =
+ xbt::string_printf("[(%ld)%s] Wait [(%ld)->(%ld)]", issuer->get_pid(), MC_smx_actor_get_host_name(issuer),
+ src_proc ? src_proc->get_pid() : 0, dst_proc ? dst_proc->get_pid() : 0);
+ else
+ label = xbt::string_printf("[(%ld)] Wait [(%ld)->(%ld)]", issuer->get_pid(),
+ src_proc ? src_proc->get_pid() : 0, dst_proc ? dst_proc->get_pid() : 0);
+ }
+ break;
+
+ case SIMCALL_COMM_TEST: {
+ kernel::activity::ActivityImpl* remote_act = simcall_comm_test__getraw__comm(req);
+ Remote<simgrid::kernel::activity::CommImpl> temp_comm;
+ mc_model_checker->process().read(temp_comm, remote(static_cast<kernel::activity::CommImpl*>(remote_act)));
+ const kernel::activity::CommImpl* comm = temp_comm.get_buffer();
+ if (comm->src_actor_.get() == nullptr || comm->dst_actor_.get() == nullptr) {
+ if (issuer->get_host())
+ label = xbt::string_printf("[(%ld)%s] Test FALSE", issuer->get_pid(), MC_smx_actor_get_host_name(issuer));
+ else
+ label = bprintf("[(%ld)] Test FALSE", issuer->get_pid());
+ } else {
+ if (issuer->get_host())
+ label = xbt::string_printf("[(%ld)%s] Test TRUE", issuer->get_pid(), MC_smx_actor_get_host_name(issuer));
+ else
+ label = xbt::string_printf("[(%ld)] Test TRUE", issuer->get_pid());
+ }
+ break;