Logo AND Algorithmique Numérique Distribuée

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

index 6cc5986..c1201aa 100644 (file)
@@ -403,10 +403,10 @@ bool Api::check_send_request_detached(smx_simcall_t const& simcall) const
 }
 #endif
 
-smx_actor_t Api::get_src_actor(const kernel::activity::CommImpl* comm_addr) const
+smx_actor_t Api::get_src_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 src_proc = mc_model_checker->get_remote_simulation().resolve_actor(simgrid::mc::remote(comm->src_actor_.get()));
index a58117f..7bc4039 100644 (file)
@@ -66,7 +66,7 @@ public:
 #if HAVE_SMPI
   bool check_send_request_detached(smx_simcall_t const& simcall) const;
 #endif
-  smx_actor_t get_src_actor(const kernel::activity::CommImpl* comm_addr) const;
+  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;
 
   // REMOTE APIs
index 1d2f8c5..4ac8ab2 100644 (file)
@@ -113,7 +113,7 @@ static char* print_determinism_result(simgrid::mc::CommPatternDifference diff, a
 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.local());
+  auto src_proc = api::get().get_src_actor(comm_addr);
   auto dst_proc = api::get().get_dst_actor(comm_addr.local());
   comm_pattern->src_proc = src_proc->get_pid();
   comm_pattern->dst_proc = dst_proc->get_pid();