Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
uniformity in Activity cancel()
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Sat, 28 Jul 2018 23:13:04 +0000 (01:13 +0200)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Sat, 28 Jul 2018 23:13:04 +0000 (01:13 +0200)
src/s4u/s4u_Comm.cpp
src/s4u/s4u_Exec.cpp

index c231d1e..0b57262 100644 (file)
@@ -184,9 +184,8 @@ Activity* Comm::detach()
 
 Activity* Comm::cancel()
 {
-  simgrid::kernel::activity::CommImplPtr commPimpl =
-      boost::static_pointer_cast<simgrid::kernel::activity::CommImpl>(pimpl_);
-  commPimpl->cancel();
+  simgrid::simix::simcall([this] { dynamic_cast<kernel::activity::CommImpl*>(pimpl_.get())->cancel(); });
+  state_ = State::CANCELED;
   return this;
 }
 
index 94da9d2..fda9b5b 100644 (file)
@@ -22,7 +22,7 @@ Activity* Exec::start()
 
 Activity* Exec::cancel()
 {
-  simcall_execution_cancel(pimpl_);
+  simgrid::simix::simcall([this] { dynamic_cast<kernel::activity::ExecImpl*>(pimpl_.get())->cancel(); });
   state_ = State::CANCELED;
   return this;
 }