X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bea6786798593b78e0d62a2308eacad3284d4537..bff077b4621c68455a86e60292cb0bf872a879d5:/src/simdag/sd_global.c?ds=inline diff --git a/src/simdag/sd_global.c b/src/simdag/sd_global.c index df22d65a14..27e445f363 100644 --- a/src/simdag/sd_global.c +++ b/src/simdag/sd_global.c @@ -4,6 +4,7 @@ #include "surf/surf.h" #include "xbt/ex.h" #include "xbt/log.h" +#include "xbt/str.h" #include "xbt/config.h" XBT_LOG_NEW_CATEGORY(sd,"Logging specific to SimDag"); @@ -72,6 +73,11 @@ static void sd_config_init(void) if (_sd_init_status) return; /* Already inited, nothing to do */ + /* Connect our log channels: that must be done manually under windows */ + XBT_LOG_CONNECT(sd_kernel, sd); + XBT_LOG_CONNECT(sd_task, sd); + XBT_LOG_CONNECT(sd_workstation, sd); + _sd_init_status = 1; _sd_cfg_set = xbt_cfg_new(); @@ -391,7 +397,7 @@ SD_task_t* SD_simulate(double how_long) { double total_time = 0.0; /* we stop the simulation when total_time >= how_long */ double elapsed_time = 0.0; - SD_task_t task, dst; + SD_task_t task, task_safe, dst; SD_dependency_t dependency; surf_action_t action; SD_task_t *changed_tasks = NULL; @@ -420,7 +426,7 @@ SD_task_t* SD_simulate(double how_long) sd_global->watch_point_reached = 0; /* explore the ready tasks */ - xbt_swag_foreach(task, sd_global->ready_task_set) { + xbt_swag_foreach_safe(task, task_safe, sd_global->ready_task_set) { INFO1("Executing task '%s'", SD_task_get_name(task)); if ((task->state_changed = __SD_task_try_to_run(task))) { changed_tasks[changed_task_number++] = task; /* replace NULL by the task */