From: alegrand Date: Mon, 30 Jul 2007 11:38:51 +0000 (+0000) Subject: Hack so that SD_simulate(2.0) stops after 2 seconds... X-Git-Tag: v3.3~1454 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/0b9e0441ca1bd2b1a1ceb3ab14aef0c03ecaca35?ds=sidebyside Hack so that SD_simulate(2.0) stops after 2 seconds... git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3906 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/simdag/sd_global.c b/src/simdag/sd_global.c index 6729f0da9d..d1a3ae7452 100644 --- a/src/simdag/sd_global.c +++ b/src/simdag/sd_global.c @@ -175,6 +175,10 @@ SD_task_t* SD_simulate(double how_long) first_time = 0; } + if(how_long>0) { + surf_timer_resource->extension_public->set(surf_get_clock()+how_long, + NULL,NULL); + } sd_global->watch_point_reached = 0; /* explore the ready tasks */ @@ -197,6 +201,10 @@ SD_task_t* SD_simulate(double how_long) while (elapsed_time >= 0.0 && (how_long < 0.0 || total_time < how_long) && !sd_global->watch_point_reached) { + /* dumb variables */ + void *fun = NULL; + void *arg = NULL; + DEBUG1("Total time: %f", total_time); @@ -269,6 +277,9 @@ SD_task_t* SD_simulate(double how_long) changed_tasks[changed_task_number] = NULL; } } + + while (surf_timer_resource->extension_public->get(&fun,(void*)&arg)) { + } } /* we must reset every task->state_changed */