X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d8922a8d878de620b312b601417e286113135ae2..dcd2c367c090bf42195e45d1d5a5bf32dabc4173:/src/surf/surf_c_bindings.cpp diff --git a/src/surf/surf_c_bindings.cpp b/src/surf/surf_c_bindings.cpp index 35b61cb1a3..1b00946611 100644 --- a/src/surf/surf_c_bindings.cpp +++ b/src/surf/surf_c_bindings.cpp @@ -4,6 +4,7 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ +#include "simgrid/s4u/engine.hpp" #include "src/instr/instr_private.h" #include "src/plugins/vm/VirtualMachineImpl.hpp" @@ -120,7 +121,7 @@ double surf_solve(double max_date) /* FIXME: Moved this test to here to avoid stopping simulation if there are actions running on cpus and all cpus are with availability = 0. * This may cause an infinite loop if one cpu has a trace with periodicity = 0 and the other a trace with periodicity > 0. * The options are: all traces with same periodicity(0 or >0) or we need to change the way how the events are managed */ - if (time_delta == -1.0) { + if (time_delta < 0) { XBT_DEBUG("No next event at all. Bail out now."); return -1.0; } @@ -134,6 +135,7 @@ double surf_solve(double max_date) for (auto model : *all_existing_models) { model->updateActionsState(NOW, time_delta); } + simgrid::s4u::onTimeAdvance(time_delta); TRACE_paje_dump_buffer (0);