Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
don't destroy synchro in a simcall, this drives the JVM nuts
[simgrid.git] / src / simix / smx_global.cpp
index 6acc54c..6d2a96d 100644 (file)
@@ -37,6 +37,7 @@
 #endif 
 
 #include "src/mc/mc_record.h"
+#include "src/surf/platform.hpp"
 
 #ifdef HAVE_SMPI
 #include "src/smpi/private.h"
@@ -100,8 +101,13 @@ static void _XBT_CALL segvhandler(int signum, siginfo_t *siginfo, void *context)
     fprintf(stderr, "Segmentation fault.\n");
 #ifdef HAVE_SMPI
     if (smpi_enabled() && !smpi_privatize_global_variables) {
+#ifdef HAVE_PRIVATIZATION
       fprintf(stderr,
         "Try to enable SMPI variable privatization with --cfg=smpi/privatize_global_variables:yes.\n");
+#else
+      fprintf(stderr,
+        "Sadly, your system does not support --cfg=smpi/privatize_global_variables:yes (yet).\n");
+#endif
     }
 #endif
   }
@@ -208,7 +214,6 @@ void SIMIX_global_init(int *argc, char **argv)
     simix_global->synchro_mallocator = xbt_mallocator_new(65536,
         SIMIX_synchro_mallocator_new_f, SIMIX_synchro_mallocator_free_f,
         SIMIX_synchro_mallocator_reset_f);
-    simix_global->autorestart = SIMIX_host_restart_processes;
     simix_global->mutex = xbt_os_mutex_init();
 
     surf_init(argc, argv);      /* Initialize SURF structures */
@@ -230,7 +235,7 @@ void SIMIX_global_init(int *argc, char **argv)
 #endif
     /* register a function to be called by SURF after the environment creation */
     sg_platf_init();
-    sg_platf_postparse_add_cb(SIMIX_post_create_environment);
+    simgrid::surf::on_postparse.connect(SIMIX_post_create_environment);
     simgrid::s4u::Host::onCreation.connect([](simgrid::s4u::Host& host) {
       SIMIX_host_create(&host);
     });