Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Move some C++ helpers in xbt/
[simgrid.git] / src / surf / sg_platf.cpp
index 5f7f50d..43f06ef 100644 (file)
@@ -9,6 +9,7 @@
 #include "xbt/str.h"
 #include "xbt/dict.h"
 #include "xbt/RngStream.h"
+#include <xbt/functional.hpp>
 #include <xbt/signal.hpp>
 #include "src/surf/HostImpl.hpp"
 #include "surf/surf.h"
@@ -572,7 +573,7 @@ void sg_platf_new_process(sg_platf_process_cbarg_t process)
   double kill_time  = process->kill_time;
   int auto_restart = process->on_failure == SURF_PROCESS_ON_FAILURE_DIE ? 0 : 1;
 
-  std::function<void()> code = simgrid::simix::wrap_main(parse_code, process->argc, process->argv);
+  std::function<void()> code = simgrid::xbt::wrapMain(parse_code, process->argc, process->argv);
 
   smx_process_arg_t arg = NULL;
   smx_process_t process_created = NULL;
@@ -601,8 +602,7 @@ void sg_platf_new_process(sg_platf_process_cbarg_t process)
 
     XBT_DEBUG("Process %s(%s) will be started at time %f",
       arg->name.c_str(), arg->hostname, start_time);
-    SIMIX_timer_set(start_time, [](void* p) {
-      smx_process_arg_t arg = static_cast<smx_process_arg_t>(p);
+    SIMIX_timer_set(start_time, [=]() {
       simix_global->create_process_function(
                                             arg->name.c_str(),
                                             std::move(arg->code),
@@ -613,7 +613,7 @@ void sg_platf_new_process(sg_platf_process_cbarg_t process)
                                             arg->auto_restart,
                                             NULL);
       delete arg;
-    }, arg);
+    });
   } else {                      // start_time <= SIMIX_get_clock()
     XBT_DEBUG("Starting Process %s(%s) right now",
       arg->name.c_str(), sg_host_get_name(host));