X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/01b6b0c026e5fa6a87a45b53a4ce1e4dc580a358..cdef428603e68472f5999bdcc382748f8eb5b7de:/src/kernel/activity/ExecImpl.cpp diff --git a/src/kernel/activity/ExecImpl.cpp b/src/kernel/activity/ExecImpl.cpp index c1b58d5157..a2ca6a8f6e 100644 --- a/src/kernel/activity/ExecImpl.cpp +++ b/src/kernel/activity/ExecImpl.cpp @@ -37,7 +37,7 @@ void simcall_HANDLER_execution_wait(smx_simcall_t simcall, simgrid::kernel::acti void simcall_HANDLER_execution_test(smx_simcall_t simcall, simgrid::kernel::activity::ExecImpl* synchro) { - int res = (synchro->state_ != SIMIX_WAITING && synchro->state_ != SIMIX_RUNNING); + bool res = (synchro->state_ != SIMIX_WAITING && synchro->state_ != SIMIX_RUNNING); if (res) { synchro->simcalls_.push_back(simcall); synchro->finish(); @@ -76,7 +76,7 @@ ExecImpl& ExecImpl::set_timeout(double timeout) { if (timeout > 0 && not MC_is_active() && not MC_record_replay_is_active()) { timeout_detector_ = hosts_.front()->pimpl_cpu->sleep(timeout); - timeout_detector_->set_data(this); + timeout_detector_->set_activity(this); } return *this; } @@ -116,7 +116,7 @@ ExecImpl* ExecImpl::start() } else { surf_action_ = surf_host_model->execute_parallel(hosts_, flops_amounts_.data(), bytes_amounts_.data(), -1); } - surf_action_->set_data(this); + surf_action_->set_activity(this); } XBT_DEBUG("Create execute synchro %p: %s", this, get_cname()); @@ -164,10 +164,8 @@ void ExecImpl::post() on_completion(*this); - if (surf_action_) { - surf_action_->unref(); - surf_action_ = nullptr; - } + clean_action(); + if (timeout_detector_) { timeout_detector_->unref(); timeout_detector_ = nullptr; @@ -231,13 +229,13 @@ ActivityImpl* ExecImpl::migrate(s4u::Host* to) resource::Action* old_action = this->surf_action_; resource::Action* new_action = to->pimpl_cpu->execution_start(old_action->get_cost()); new_action->set_remains(old_action->get_remains()); - new_action->set_data(this); + new_action->set_activity(this); new_action->set_priority(old_action->get_priority()); // FIXME: the user-defined bound seem to not be kept by LMM, that seem to overwrite it for the multi-core modeling. // I hope that the user did not provide any. - old_action->set_data(nullptr); + old_action->set_activity(nullptr); old_action->cancel(); old_action->unref(); this->surf_action_ = new_action;