X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a93d9a4ceb57a26d8fa1c3904ce7904ff727f2e1..d155fd69fa99c97b3a9c86bb7f2e472c2e7332df:/src/simdag/sd_global.c diff --git a/src/simdag/sd_global.c b/src/simdag/sd_global.c index a2789bcd8a..f04fd067ee 100644 --- a/src/simdag/sd_global.c +++ b/src/simdag/sd_global.c @@ -132,12 +132,15 @@ void SD_application_reinit(void) xbt_swag_foreach_safe(done_task, next_done_task, sd_global->done_task_set){ if (xbt_dynar_is_empty(done_task->tasks_before)){ __SD_task_set_state(done_task, SD_SCHEDULABLE); - } else{ + } else{ __SD_task_set_state(done_task, SD_NOT_SCHEDULED); done_task->unsatisfied_dependencies = xbt_dynar_length(done_task->tasks_before); done_task->is_not_ready = done_task->unsatisfied_dependencies; - } + } + free(done_task->workstation_list); + done_task->workstation_list = NULL; + done_task->workstation_nb = 0; } xbt_swag_free(sd_global->done_task_set); @@ -158,6 +161,7 @@ void SD_application_reinit(void) #ifdef HAVE_JEDULE + jedule_sd_dump(); jedule_sd_cleanup(); jedule_sd_init(); #endif @@ -280,6 +284,7 @@ xbt_swag_t SD_simulate_swag(double how_long) { if (elapsed_time > 0.0) total_time += elapsed_time; + /* FIXME: shoud look at model_list or model_list_invoke? */ /* let's see which tasks are done */ xbt_dynar_foreach(model_list, iter, model) { while ((action = xbt_swag_extract(model->states.done_action_set))) { @@ -434,35 +439,15 @@ void SD_exit(void) TRACE_end(); #endif - XBT_DEBUG("Exiting Surf..."); - surf_exit(); - xbt_free(sd_global); sd_global = NULL; #ifdef HAVE_JEDULE jedule_sd_dump(); jedule_sd_cleanup(); + jedule_sd_exit(); #endif -} - -/** - * \brief load script file - */ - -void SD_load_environment_script(const char *script_file) -{ -#ifdef HAVE_LUA - lua_State *L = lua_open(); - luaL_openlibs(L); - if (luaL_loadfile(L, script_file) || lua_pcall(L, 0, 0, 0)) { - printf("error: %s\n", lua_tostring(L, -1)); - return; - } -#else - xbt_die - ("Lua is not available!! to call SD_load_environment_script, lua should be available..."); -#endif - return; + XBT_DEBUG("Exiting Surf..."); + surf_exit(); }