X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ae66e43b95b26467c1cb9df271e83f51d3d7147b..e9ffd4609de30c64881e5f799cf16344986b9686:/src/gras/Virtu/sg_emul.c diff --git a/src/gras/Virtu/sg_emul.c b/src/gras/Virtu/sg_emul.c index e37d750118..1f4305ecf4 100644 --- a/src/gras/Virtu/sg_emul.c +++ b/src/gras/Virtu/sg_emul.c @@ -12,7 +12,7 @@ #include "gras/Virtu/virtu_sg.h" #include "gras_modinter.h" -#include "xbt/xbt_portability.h" /* timers */ +#include "xbt/xbt_os_time.h" /* timers */ #include "xbt/dict.h" #include "xbt/ex.h" @@ -26,7 +26,7 @@ static double reference = .00000000523066250047108838; /* FIXME: we should bench static double duration = 0.0; static char* locbuf = NULL; -static int locbufsize; +static unsigned int locbufsize; void gras_emul_init(void) { @@ -89,8 +89,8 @@ int gras_bench_always_end(void) act = SIMIX_action_execute(SIMIX_host_self(), (char*) "task", (duration)/reference); SIMIX_register_action_to_condition(act,cond); - SIMIX_register_condition_to_action(act,cond); SIMIX_cond_wait(cond, mutex); + SIMIX_unregister_action_to_condition(act,cond); SIMIX_action_destroy(act); SIMIX_mutex_unlock(mutex); @@ -147,8 +147,8 @@ int gras_bench_once_end(void) act = SIMIX_action_execute(SIMIX_host_self(), (char*)"task", (duration)/reference); SIMIX_register_action_to_condition(act,cond); - SIMIX_register_condition_to_action(act,cond); SIMIX_cond_wait(cond, mutex); + SIMIX_unregister_action_to_condition(act,cond); SIMIX_action_destroy(act); SIMIX_mutex_unlock(mutex); @@ -168,60 +168,3 @@ int gras_if_RL(void) { int gras_if_SG(void) { return 1; } - -void gras_global_init(int *argc,char **argv) { -return SIMIX_global_init(argc,argv); -} -void gras_create_environment(const char *file) { -return SIMIX_create_environment(file); -} -void gras_function_register(const char *name, void *code) { -return SIMIX_function_register(name, (smx_process_code_t)code); -} -void gras_main() { - smx_cond_t cond = NULL; - smx_action_t smx_action; - xbt_fifo_t actions_done = xbt_fifo_new(); - xbt_fifo_t actions_failed = xbt_fifo_new(); - - - /* Clean IO before the run */ - fflush(stdout); - fflush(stderr); - - - while (SIMIX_solve(actions_done, actions_failed) != -1.0) { - - while ( (smx_action = xbt_fifo_pop(actions_failed)) ) { - - - DEBUG1("** %s failed **",smx_action->name); - while ( (cond = xbt_fifo_pop(smx_action->cond_list)) ) { - SIMIX_cond_broadcast(cond); - } - /* action finished, destroy it */ - // SIMIX_action_destroy(smx_action); - } - - while ( (smx_action = xbt_fifo_pop(actions_done)) ) { - - DEBUG1("** %s done **",smx_action->name); - while ( (cond = xbt_fifo_pop(smx_action->cond_list)) ) { - SIMIX_cond_broadcast(cond); - } - /* action finished, destroy it */ - //SIMIX_action_destroy(smx_action); - } - } - xbt_fifo_free(actions_failed); - xbt_fifo_free(actions_done); - return; - -} -void gras_launch_application(const char *file) { -return SIMIX_launch_application(file); -} -void gras_clean() { -return SIMIX_clean(); -} -