X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/60d684a0c3b1671fbc60bc47f37eca020627dc02..976ee462f4626798ebf76ca46d13f53e10e0e28d:/src/simix/smx_deployment.c diff --git a/src/simix/smx_deployment.c b/src/simix/smx_deployment.c index 622aeb85ab..cd3d2afad5 100644 --- a/src/simix/smx_deployment.c +++ b/src/simix/smx_deployment.c @@ -87,14 +87,18 @@ static void parse_process_finalize(void) else process = SIMIX_process_create(parse_argv[0], parse_code, NULL, parse_host, parse_argc, parse_argv, /*the props */ current_property_set); - - if (process && kill_time > SIMIX_get_clock()) { - if (simix_global->kill_process_function) - surf_timer_model->extension.timer.set(start_time, (void *) + /* verify if process has been created */ + if (!process) { + xbt_free(parse_host); + return; + } + if (kill_time > SIMIX_get_clock()) { + if (simix_global->kill_process_function) + surf_timer_model->extension.timer.set(start_time, (void *) simix_global->kill_process_function, process); - else - surf_timer_model->extension.timer.set(kill_time, (void *) + else + surf_timer_model->extension.timer.set(kill_time, (void *) &SIMIX_process_kill, (void *) process); }