#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"
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;
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),
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));