double kill_time = process->kill_time;
int auto_restart = process->on_failure == SURF_PROCESS_ON_FAILURE_DIE ? 0 : 1;
double kill_time = process->kill_time;
int auto_restart = process->on_failure == SURF_PROCESS_ON_FAILURE_DIE ? 0 : 1;
- arg->argc = process->argc;
- arg->argv = xbt_new(char *,process->argc);
- int i;
- for (i=0; i<process->argc; i++)
- arg->argv[i] = xbt_strdup(process->argv[i]);
- arg->name = arg->argv[0];
arg->kill_time = kill_time;
arg->properties = current_property_set;
if (!sg_host_simix(host)->boot_processes)
arg->kill_time = kill_time;
arg->properties = current_property_set;
if (!sg_host_simix(host)->boot_processes)
xbt_dynar_push_as(sg_host_simix(host)->boot_processes,smx_process_arg_t,arg);
if (start_time > SIMIX_get_clock()) {
xbt_dynar_push_as(sg_host_simix(host)->boot_processes,smx_process_arg_t,arg);
if (start_time > SIMIX_get_clock()) {
- arg = new s_smx_process_arg_t();
- arg->name = process->argv[0];
- arg->code = parse_code;
+
+ arg = new simgrid::simix::ProcessArg();
+ arg->name = std::string(process->argv[0]);
+ arg->code = std::move(code);
arg->kill_time = kill_time;
arg->properties = current_property_set;
XBT_DEBUG("Process %s(%s) will be started at time %f",
arg->name.c_str(), arg->hostname, start_time);
arg->kill_time = kill_time;
arg->properties = current_property_set;
XBT_DEBUG("Process %s(%s) will be started at time %f",
arg->name.c_str(), arg->hostname, start_time);
} else { // start_time <= SIMIX_get_clock()
XBT_DEBUG("Starting Process %s(%s) right now",
arg->name.c_str(), sg_host_get_name(host));
if (simix_global->create_process_function)
process_created = simix_global->create_process_function(
} else { // start_time <= SIMIX_get_clock()
XBT_DEBUG("Starting Process %s(%s) right now",
arg->name.c_str(), sg_host_get_name(host));
if (simix_global->create_process_function)
process_created = simix_global->create_process_function(
- arg->name.c_str(),
- parse_code,
- NULL,
- sg_host_get_name(host),
- kill_time,
- process->argc,
- (char**)(process->argv),
- current_property_set,
- auto_restart, NULL);
+ arg->name.c_str(), std::move(code), NULL,
+ sg_host_get_name(host), kill_time,
+ current_property_set, auto_restart, NULL);
- arg->name.c_str(), parse_code, NULL, sg_host_get_name(host), kill_time, process->argc,
- (char**)process->argv, current_property_set,auto_restart);
+ arg->name.c_str(), std::move(code), NULL, sg_host_get_name(host), kill_time,
+ current_property_set,auto_restart);