/** Hostname (owned by `mc_model_checker->hostnames_`) */
const xbt::string* hostname = nullptr;
- std::string name;
+ xbt::string name;
void clear()
{
public:
explicit RemoteProcess(pid_t pid);
~RemoteProcess() override;
- void init();
+ void init(void* mmalloc_default_mdp, void* maxpid, void* actors, void* dead_actors);
RemoteProcess(RemoteProcess const&) = delete;
RemoteProcess(RemoteProcess&&) = delete;
/* ***************** */
/* SIMIX-related API */
/* ***************** */
+private:
+ // Cache the address of the variables we read directly in the memory of remote
+ void* maxpid_addr_;
+ void* actors_addr_;
+ void* dead_actors_addr_;
+public:
std::vector<ActorInformation>& actors();
std::vector<ActorInformation>& dead_actors();
}
unsigned long get_maxpid() const;
+ void get_actor_vectors(RemotePtr<s_xbt_dynar_t>& actors, RemotePtr<s_xbt_dynar_t>& dead_actors);
void dump_stack() const;