X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d1090ad7375e9ffbd83c87cb3b7622aead1084b3..9189fe94c14ef9e31142d1603a1979ea7e731a0a:/src/msg/deployment.c diff --git a/src/msg/deployment.c b/src/msg/deployment.c index 87649dddae..520b2b8478 100644 --- a/src/msg/deployment.c +++ b/src/msg/deployment.c @@ -43,8 +43,31 @@ static void parse_argument(void) static void parse_process_finalize(void) { - MSG_process_create_with_arguments(parse_argv[0], parse_code, NULL, parse_host, - parse_argc,parse_argv,start_time,kill_time); + process_arg_t arg = NULL; + m_process_t process = NULL; + if(start_time>MSG_get_clock()) { + arg = xbt_new0(s_process_arg_t,1); + arg->name = parse_argv[0]; + arg->code = parse_code; + arg->data = NULL; + arg->host = parse_host; + arg->argc = parse_argc; + arg->argv = parse_argv; + arg-> kill_time = kill_time; + + surf_timer_resource->extension_public->set(start_time, (void*) &MSG_process_create_with_arguments, + arg); + } + if((start_time<0) || (start_time==MSG_get_clock())) { + process = MSG_process_create_with_arguments(parse_argv[0], parse_code, + NULL, parse_host, + parse_argc,parse_argv); + if(kill_time > MSG_getClock()) { + surf_timer_resource->extension_public->set(kill_time, + (void*) &MSG_process_kill, + (void*) process); + } + } } /** \ingroup msg_easier_life @@ -101,7 +124,7 @@ m_process_code_t MSG_get_registered_function(const char *name) xbt_assert0(msg_global,"MSG_global_init_args has to be called before MSG_get_registered_function."); - xbt_dict_get(msg_global->registered_functions,name,(void **) &code); + code = xbt_dict_get(msg_global->registered_functions,name); return code; } @@ -128,7 +151,7 @@ MSG_error_t MSG_get_arguments(int *argc, char ***argv) return MSG_OK; } -/** \ingroup msg_easier_life +/* \ingroup msg_easier_life * \brief Set the arguments of a process. * * This functions sets the argument number and the arguments table for a @@ -139,8 +162,6 @@ MSG_error_t MSG_get_arguments(int *argc, char ***argv) */ MSG_error_t MSG_set_arguments(m_process_t process,int argc, char *argv[]) { - simdata_process_t simdata = NULL; - xbt_assert0(0,"Deprecated ! Do not use anymore. " "Use MSG_process_create_with_arguments instead.\n");