X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d1510352befb23c33e523ffef0d9ae6648ce9adf..3203afd846219ef8b41cadda945ea0a98103c46f:/src/kernel/actor/ActorImpl.cpp diff --git a/src/kernel/actor/ActorImpl.cpp b/src/kernel/actor/ActorImpl.cpp index dea0e72510..c2e2b489c2 100644 --- a/src/kernel/actor/ActorImpl.cpp +++ b/src/kernel/actor/ActorImpl.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2022. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-2023. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -8,11 +8,12 @@ #include #include +#include "src/internal_config.h" #include "src/kernel/EngineImpl.hpp" #if HAVE_SMPI #include "src/smpi/include/private.hpp" #endif -#include "src/surf/HostImpl.hpp" +#include "src/kernel/resource/HostImpl.hpp" #include #include @@ -38,7 +39,7 @@ ActorImpl::ActorImpl(const std::string& name, s4u::Host* host, aid_t ppid) : ActorIDTrait(name, ppid), host_(host), piface_(this) { simcall_.issuer_ = this; - stacksize_ = context::stack_size; + stacksize_ = context::Context::stack_size; } ActorImpl::~ActorImpl() @@ -126,12 +127,6 @@ void ActorImpl::cleanup_from_kernel() if (not kernel_destroy_list_hook.is_linked()) engine->add_actor_to_destroy_list(*this); - if (has_to_auto_restart() && not get_host()->is_on()) { - XBT_DEBUG("Insert host %s to watched_hosts because it's off and %s needs to restart", get_host()->get_cname(), - get_cname()); - watched_hosts().insert(get_host()->get_name()); - } - undaemonize(); s4u::Actor::on_termination(*get_ciface()); @@ -188,7 +183,7 @@ void ActorImpl::exit() activity::ActivityImplPtr activity = waiting_synchro_; activity->cancel(); activity->set_state(activity::State::FAILED); - activity->post(); + activity->finish(); activities_.erase(waiting_synchro_); waiting_synchro_ = nullptr; @@ -357,12 +352,12 @@ activity::ActivityImplPtr ActorImpl::join(const ActorImpl* actor, double timeout { activity::ActivityImplPtr sleep_activity = this->sleep(timeout); if (actor->wannadie() || actor->to_be_freed()) { - if (sleep_activity->surf_action_) - sleep_activity->surf_action_->finish(resource::Action::State::FINISHED); + if (sleep_activity->model_action_) + sleep_activity->model_action_->finish(resource::Action::State::FINISHED); } else { actor->on_exit->emplace_back([sleep_activity](bool) { - if (sleep_activity->surf_action_) - sleep_activity->surf_action_->finish(resource::Action::State::FINISHED); + if (sleep_activity->model_action_) + sleep_activity->model_action_->finish(resource::Action::State::FINISHED); }); } return sleep_activity;