Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
obey our naming conventions
[simgrid.git] / src / simix / smx_global.cpp
index 78512e6..a3623c1 100644 (file)
@@ -13,7 +13,8 @@
 
 #include <xbt/functional.hpp>
 
-#include <simgrid/s4u/host.hpp>
+#include "simgrid/s4u/engine.hpp"
+#include "simgrid/s4u/host.hpp"
 
 #include "src/surf/surf_interface.hpp"
 #include "src/surf/storage_interface.hpp"
@@ -228,13 +229,13 @@ void SIMIX_global_init(int *argc, char **argv)
 #endif
     /* register a function to be called by SURF after the environment creation */
     sg_platf_init();
-    simgrid::surf::on_postparse.connect(SIMIX_post_create_environment);
+    simgrid::s4u::onPlatformCreated.connect(SIMIX_post_create_environment);
     simgrid::s4u::Host::onCreation.connect([](simgrid::s4u::Host& host) {
       host.extension_set<simgrid::simix::Host>(new simgrid::simix::Host());
     });
 
     simgrid::surf::storageCreatedCallbacks.connect([](simgrid::surf::Storage* storage) {
-      const char* name = storage->getName();
+      const char* name = storage->cname();
       // TODO, create sg_storage_by_name
       sg_storage_t s = xbt_lib_get_elm_or_null(storage_lib, name);
       xbt_assert(s != nullptr, "Storage not found for name %s", name);
@@ -428,7 +429,6 @@ void SIMIX_run()
   }
 
   double time = 0;
-  smx_actor_t process;
 
   do {
     XBT_DEBUG("New Schedule Round; size(queue)=%lu", xbt_dynar_length(simix_global->process_to_run));
@@ -500,6 +500,7 @@ void SIMIX_run()
        */
 
       unsigned int iter;
+      smx_actor_t process;
       xbt_dynar_foreach(simix_global->process_that_ran, iter, process) {
         if (process->simcall.call != SIMCALL_NONE) {
           SIMIX_simcall_handle(&process->simcall, 0);
@@ -559,6 +560,7 @@ void SIMIX_run()
     SIMIX_display_process_status();
     xbt_abort();
   }
+  simgrid::s4u::onSimulationEnd();
 }
 
 /**