Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
start to untangle the MSG actor creation mess
[simgrid.git] / src / simix / smx_host.cpp
index a1461a2..e263ffa 100644 (file)
@@ -59,14 +59,10 @@ namespace simgrid {
     {
       for (auto arg : boot_processes) {
         XBT_DEBUG("Booting Process %s(%s) right now", arg->name.c_str(), arg->host->cname());
-        simix_global->create_process_function(arg->name.c_str(),
-            arg->code,
-            nullptr,
-            arg->host,
-            arg->kill_time,
-            arg->properties,
-            arg->auto_restart,
-            nullptr);
+        smx_actor_t actor = simix_global->create_process_function(arg->name.c_str(), arg->code, nullptr, arg->host,
+                                                                  arg->properties, arg->auto_restart, nullptr);
+        if (arg->kill_time >= 0)
+          simcall_process_set_kill_time(actor, arg->kill_time);
       }
     }
 
@@ -145,8 +141,10 @@ void SIMIX_host_autorestart(sg_host_t host)
 
   for (auto arg : process_list) {
     XBT_DEBUG("Restarting Process %s@%s right now", arg->name.c_str(), arg->host->cname());
-    simix_global->create_process_function(arg->name.c_str(), arg->code, nullptr, arg->host, arg->kill_time,
-        arg->properties, arg->auto_restart, nullptr);
+    smx_actor_t actor = simix_global->create_process_function(arg->name.c_str(), arg->code, nullptr, arg->host,
+                                                              arg->properties, arg->auto_restart, nullptr);
+    if (arg->kill_time >= 0)
+      simcall_process_set_kill_time(actor, arg->kill_time);
   }
   process_list.clear();
 }