X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cdf6a962eb4e88efbed3df9c41343adabcf09e6c..ac080087b39ef79ff497d3992ff04b3e20fe40b2:/src/s4u/s4u_Exec.cpp diff --git a/src/s4u/s4u_Exec.cpp b/src/s4u/s4u_Exec.cpp index 76dbb61622..2511d76097 100644 --- a/src/s4u/s4u_Exec.cpp +++ b/src/s4u/s4u_Exec.cpp @@ -68,19 +68,6 @@ Exec* Exec::cancel() return this; } -void intrusive_ptr_release(simgrid::s4u::Exec* e) -{ - if (e->refcount_.fetch_sub(1, std::memory_order_release) == 1) { - std::atomic_thread_fence(std::memory_order_acquire); - delete e; - } -} - -void intrusive_ptr_add_ref(simgrid::s4u::Exec* e) -{ - e->refcount_.fetch_add(1, std::memory_order_relaxed); -} - /** @brief change the execution bound * This means changing the maximal amount of flops per second that it may consume, regardless of what the host may * deliver. Currently, this cannot be changed once the exec started. @@ -98,6 +85,9 @@ ExecPtr Exec::set_timeout(double timeout) return this; } +/** @brief Retrieve the host on which this activity takes place. + * If it runs on more than one host, only the first host is returned. + */ Host* Exec::get_host() const { return static_cast(pimpl_.get())->get_host(); @@ -143,8 +133,8 @@ Exec* ExecSeq::start() { kernel::actor::simcall([this] { (*boost::static_pointer_cast(pimpl_)) - .set_name(name_) - .set_tracing_category(tracing_category_) + .set_name(get_name()) + .set_tracing_category(get_tracing_category()) .set_sharing_penalty(1. / priority_) .set_bound(bound_) .set_flops_amount(flops_amount_) @@ -165,18 +155,10 @@ ExecPtr ExecSeq::set_host(Host* host) "Cannot change the host of an exec once it's done (state: %d)", (int)state_); if (state_ == State::STARTED) boost::static_pointer_cast(pimpl_)->migrate(host); - host_ = host; boost::static_pointer_cast(pimpl_)->set_host(host); return this; } - -/** @brief Retrieve the host on which this activity takes place. */ -Host* ExecSeq::get_host() -{ - return host_; -} - /** @brief Returns the amount of flops that remain to be done */ double ExecSeq::get_remaining() {