void _SIMIX_host_free_process_arg(void *data)
{
smx_process_arg_t arg = *(void**)data;
- int i;
xbt_free(arg->name);
- for (i = 0; i < arg->argc; i++) {
- xbt_free(arg->argv[i]);
- }
- xbt_free(arg->argv);
xbt_free(arg);
}
/**
host->auto_restart_processes = xbt_dynar_new(sizeof(smx_process_arg_t),_SIMIX_host_free_process_arg);
}
smx_process_arg_t arg = xbt_new(s_smx_process_arg_t,1);
-
arg->name = xbt_strdup(name);
arg->code = code;
arg->data = data;
arg->hostname = hostname;
arg->kill_time = kill_time;
arg->argc = argc;
- arg->argv = xbt_new(char*,argc + 1);
+
+ arg->argv = xbt_new(char*,argc);
int i;
for (i = 0; i < argc; i++) {
arg->argc,arg->argv,arg->properties,
arg->auto_restart);
}
+ XBT_DEBUG("Process %s (%s) is dead",arg->name,arg->smx_host->name);
/* stop the context */
SIMIX_context_stop(arg->context);
}