X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/09a7e9026201418519bf9e69a312bc98f9532036..9ceefed14c83a0f6ea5f78e3acafd53181dc4fa1:/src/s4u/s4u_Comm.cpp diff --git a/src/s4u/s4u_Comm.cpp b/src/s4u/s4u_Comm.cpp index c58896f68d..2b4bcd6ee8 100644 --- a/src/s4u/s4u_Comm.cpp +++ b/src/s4u/s4u_Comm.cpp @@ -23,12 +23,6 @@ xbt::signal Comm::on_send; xbt::signal Comm::on_recv; xbt::signal Comm::on_completion; -void Comm::complete(Activity::State state) -{ - Activity::complete(state); - on_completion(*this); -} - Comm::~Comm() { if (state_ == State::STARTED && not detached_ && @@ -163,6 +157,7 @@ CommPtr Comm::set_payload_size(uint64_t bytes) CommPtr Comm::sendto_init(Host* from, Host* to) { CommPtr res(new Comm()); + res->sender_ = kernel::actor::ActorImpl::self(); res->from_ = from; res->to_ = to; @@ -212,8 +207,11 @@ Comm* Comm::start() if (suspended_) pimpl_->suspend(); - if (not detached_) - static_cast(pimpl_.get())->set_iface(this); + if (not detached_) { + pimpl_->set_iface(this); + pimpl_->set_actor(sender_); + } + state_ = State::STARTED; return this; }