Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use a std::vector for actors_at_boot_.
[simgrid.git] / src / s4u / s4u_Actor.cpp
index 18c9bba..2d162da 100644 (file)
@@ -78,12 +78,9 @@ void Actor::set_auto_restart(bool autorestart)
   simgrid::simix::simcall([this, autorestart]() {
     pimpl_->set_auto_restart(autorestart);
 
-    std::map<std::string, kernel::actor::ProcessArg*>* actors_map = &pimpl_->host_->pimpl_->actors_at_boot_;
-    if (actors_map->find(pimpl_->name_) == actors_map->end()) {
-      simgrid::kernel::actor::ProcessArg* arg = new simgrid::kernel::actor::ProcessArg(pimpl_->host_, pimpl_);
-      XBT_DEBUG("Adding Process %s to the actors_at_boot_ list of Host %s", arg->name.c_str(), arg->host->get_cname());
-      actors_map->insert({arg->name, arg});
-    }
+    simgrid::kernel::actor::ProcessArg* arg = new simgrid::kernel::actor::ProcessArg(pimpl_->host_, pimpl_);
+    XBT_DEBUG("Adding Process %s to the actors_at_boot_ list of Host %s", arg->name.c_str(), arg->host->get_cname());
+    pimpl_->host_->pimpl_->actors_at_boot_.emplace_back(arg);
   });
 }