+ } else if (fun == simix_global->create_process_function) {
+ smx_process_arg_t args = arg;
+ DEBUG2("Launching %s on %s", args->name, args->hostname);
+ process =
+ (*simix_global->create_process_function) (args->name, args->code,
+ args->data,
+ args->hostname,
+ args->argc, args->argv,
+ args->properties);
+ /* verify if process has been created */
+ if (!process) {
+ xbt_free(args);
+ continue;
+ }
+ if (args->kill_time > SIMIX_get_clock()) {
+ if (simix_global->kill_process_function)
+ surf_timer_model->extension.timer.set(args->kill_time, (void *)
+ simix_global->
+ kill_process_function,
+ process);
+ else
+ surf_timer_model->extension.timer.set(args->kill_time, (void *)
+ &SIMIX_process_kill,
+ (void *) process);
+ }
+ xbt_free(args);
+ } else if (fun == SIMIX_process_kill) {