- smx_process_arg_t arg = NULL;
- void * process = NULL;
- if(start_time>SIMIX_get_clock()) {
- arg = xbt_new0(s_smx_process_arg_t,1);
- arg->name = parse_argv[0];
- arg->code = parse_code;
- arg->data = NULL;
- arg->hostname = parse_host;
- arg->argc = parse_argc;
- arg->argv = parse_argv;
- arg->kill_time = kill_time;
-
- DEBUG3("Process %s(%s) will be started at time %f", arg->name,
- arg->hostname,start_time);
- if (simix_global->create_process_function)
- surf_timer_resource->extension_public->set(start_time, (void*) simix_global->create_process_function, arg);
- else
- surf_timer_resource->extension_public->set(start_time, (void*) &SIMIX_process_create, arg);
-
- }
- if((start_time<0) || (start_time==SIMIX_get_clock())) {
- DEBUG2("Starting Process %s(%s) right now", parse_argv[0], parse_host);
-
- if (simix_global->create_process_function)
- process = simix_global->create_process_function(parse_argv[0], parse_code, NULL, parse_host, parse_argc,parse_argv);
- else
- process = SIMIX_process_create(parse_argv[0], parse_code, NULL, parse_host, parse_argc,parse_argv, NULL);
-
- if(kill_time > SIMIX_get_clock()) {
- if (simix_global->kill_process_function)
- surf_timer_resource->extension_public->set(start_time, (void*) simix_global->kill_process_function, arg);
- else
- surf_timer_resource->extension_public->set(kill_time, (void*) &SIMIX_process_kill, (void*) process);
- }
- xbt_free(parse_host);
- }