Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
RemotePtr in get_dst_actor()
authoreazimi <azimi.ehsan@outlook.com>
Wed, 27 Jan 2021 18:06:32 +0000 (19:06 +0100)
committereazimi <azimi.ehsan@outlook.com>
Wed, 27 Jan 2021 18:06:32 +0000 (19:06 +0100)
src/mc/api.cpp
src/mc/api.hpp
src/mc/checker/CommunicationDeterminismChecker.cpp

index c1201aa..d7ae5d3 100644 (file)
@@ -413,10 +413,10 @@ smx_actor_t Api::get_src_actor(RemotePtr<kernel::activity::CommImpl> const& comm
   return src_proc;
 }
 
-smx_actor_t Api::get_dst_actor(const kernel::activity::CommImpl* comm_addr) const
+smx_actor_t Api::get_dst_actor(RemotePtr<kernel::activity::CommImpl> const& comm_addr) const
 {
   simgrid::mc::Remote<simgrid::kernel::activity::CommImpl> temp_comm;
-  mc_model_checker->get_remote_simulation().read(temp_comm, remote((kernel::activity::CommImpl*)comm_addr));
+  mc_model_checker->get_remote_simulation().read(temp_comm, comm_addr);
   const simgrid::kernel::activity::CommImpl* comm = temp_comm.get_buffer();
 
   auto dst_proc = mc_model_checker->get_remote_simulation().resolve_actor(simgrid::mc::remote(comm->dst_actor_.get()));
index 7bc4039..bfd6a0a 100644 (file)
@@ -67,7 +67,7 @@ public:
   bool check_send_request_detached(smx_simcall_t const& simcall) const;
 #endif
   smx_actor_t get_src_actor(RemotePtr<kernel::activity::CommImpl> const& comm_addr) const;
-  smx_actor_t get_dst_actor(const kernel::activity::CommImpl* comm_addr) const;
+  smx_actor_t get_dst_actor(RemotePtr<kernel::activity::CommImpl> const& comm_addr) const;
 
   // REMOTE APIs
   std::size_t get_remote_heap_bytes() const;
index 4ac8ab2..8b44369 100644 (file)
@@ -114,7 +114,7 @@ static void update_comm_pattern(simgrid::mc::PatternCommunication* comm_pattern,
                                 simgrid::mc::RemotePtr<simgrid::kernel::activity::CommImpl> const& comm_addr)
 {
   auto src_proc = api::get().get_src_actor(comm_addr);
-  auto dst_proc = api::get().get_dst_actor(comm_addr.local());
+  auto dst_proc = api::get().get_dst_actor(comm_addr);
   comm_pattern->src_proc = src_proc->get_pid();
   comm_pattern->dst_proc = dst_proc->get_pid();
   comm_pattern->src_host = api::get().get_actor_host_name(src_proc);