X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7ec4bfe63855f02819ad397d3b29babf4421ea00..d5e5174e32531cd3a94f8a737cf4cabd5aca9685:/src/kernel/EngineImpl.cpp diff --git a/src/kernel/EngineImpl.cpp b/src/kernel/EngineImpl.cpp index 665e7cbf97..c9f6f41678 100644 --- a/src/kernel/EngineImpl.cpp +++ b/src/kernel/EngineImpl.cpp @@ -238,7 +238,7 @@ void EngineImpl::initialize(int* argc, char** argv) /* register a function to be called by SURF after the environment creation */ sg_platf_init(); - s4u::Engine::on_platform_created.connect([this]() { this->presolve(); }); + s4u::Engine::on_platform_created_cb([this]() { this->presolve(); }); if (config::get_value("debug/clean-atexit")) atexit(shutdown); @@ -347,6 +347,15 @@ void EngineImpl::shutdown() instance_ = nullptr; } +void EngineImpl::seal_platform() const +{ + /* sealing resources before run: links */ + for (auto const& kv : links_) + kv.second->get_iface()->seal(); + /* seal netzone root, recursively seal children netzones, hosts and disks */ + netzone_root_->seal(); +} + void EngineImpl::load_platform(const std::string& platf) { double start = xbt_os_time(); @@ -689,6 +698,8 @@ double EngineImpl::solve(double max_date) const void EngineImpl::run(double max_date) { + seal_platform(); + if (MC_record_replay_is_active()) { mc::replay(MC_record_path()); empty_trash();