#include "src/kernel/actor/SimcallObserver.hpp"
#include "src/mc/mc_base.hpp"
#include "src/mc/mc_config.hpp"
-#include "src/mc/remote/RemoteProcess.hpp"
+#include "src/mc/sosp/RemoteProcessMemory.hpp"
#if HAVE_SMPI
#include "src/smpi/include/private.hpp"
#endif
if (instance_)
return instance_.get();
- simgrid::mc::cfg_do_model_check = true;
+ simgrid::mc::model_checking_mode = ModelCheckingMode::APP_SIDE;
setvbuf(stdout, nullptr, _IOLBF, 0);
s_mc_message_initial_addresses_t message = {};
message.type = MessageType::INITIAL_ADDRESSES;
- message.mmalloc_default_mdp = mmalloc_get_current_heap();
- message.maxpid = kernel::actor::ActorImpl::get_maxpid_addr();
+ message.mmalloc_default_mdp = mmalloc_get_current_heap();
xbt_assert(instance_->channel_.send(message) == 0, "Could not send the initial message with addresses.");
instance_->handle_messages();
xbt_assert(channel_.send(probe) == 0, "Could not send ACTOR_TRANSITION_PROBE payload");
}
}
+void AppSide::handle_actors_maxpid() const
+{
+ s_mc_message_int_t answer = {};
+ answer.type = MessageType::ACTORS_MAXPID_REPLY;
+ answer.value = kernel::actor::ActorImpl::get_maxpid();
+ xbt_assert(channel_.send(answer) == 0, "Could not send response");
+}
#define assert_msg_size(_name_, _type_) \
xbt_assert(received_size == sizeof(_type_), "Unexpected size for " _name_ " (%zd != %zu)", received_size, \
handle_actors_status();
break;
+ case MessageType::ACTORS_MAXPID:
+ assert_msg_size("ACTORS_MAXPID", s_mc_message_t);
+ handle_actors_maxpid();
+ break;
+
default:
xbt_die("Received unexpected message %s (%i)", to_c_str(message->type), static_cast<int>(message->type));
break;