Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fix that example
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Thu, 2 Apr 2020 15:02:32 +0000 (17:02 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Thu, 2 Apr 2020 15:02:32 +0000 (17:02 +0200)
examples/s4u/maestro-set/s4u-maestro-set.cpp
include/simgrid/simix.h

index 4157f89..00982ec 100644 (file)
@@ -65,6 +65,10 @@ int main(int argc, char* argv[])
 {
   root_id = std::this_thread::get_id();
 
+  /* Specify which code should be executed by maestro on another thread, once this current thread is affected to an
+   * actor by the subsequent sg_actor_attach(). This must be done before the creation of the engine. */
+  SIMIX_set_maestro(maestro, NULL);
+
   simgrid::s4u::Engine e(&argc, argv);
 
   if (argc != 2) {
@@ -74,9 +78,6 @@ int main(int argc, char* argv[])
 
   e.load_platform(argv[1]);
 
-  /* Specify which code should be executed by maestro on another thread, once this current thread is affected to an
-   * actor by the subsequent sg_actor_attach() */
-  SIMIX_set_maestro(maestro, NULL);
   /* Become one of the simulated process (must be done after the platform creation, or the host won't exist). */
   sg_actor_attach("sender", nullptr, simgrid::s4u::Host::by_name("Tremblay"), nullptr);
 
index 8637253..9264bf5 100644 (file)
@@ -39,7 +39,7 @@ XBT_PUBLIC int SIMIX_is_maestro();
 /* Initialization and exit */
 XBT_PUBLIC void SIMIX_global_init(int* argc, char** argv);
 
-/* Set some code to execute in the maestro
+/* Set some code to execute in the maestro (must be used before the engine creation)
  *
  * If no maestro code is registered (the default), the main thread
  * is assumed to be the maestro. */