]> AND Private Git Repository - loba.git/blobdiff - simgrid_features.h
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Be consistent and hold mutex in any case when returning from condition_t::timedwait().
[loba.git] / simgrid_features.h
index a12af19d10b4b7ae8eee42ae1d452a5b501e33a8..00ff3a7b70bb2fcfed628b9d7aa1ae0e01f39946 100644 (file)
@@ -1,15 +1,24 @@
 #ifndef SIMGRID_FEATURES_H
 #define SIMGRID_FEATURES_H
 
 #ifndef SIMGRID_FEATURES_H
 #define SIMGRID_FEATURES_H
 
-// Try to guess if MSG_wait destroys communications or not, because it
-// changed after SimGrid 3.5.
-//
-// Use some define introduced after that.               fixme: dirty hack
-//
-#if defined(SIMGRID_VERSION)
-#  define MSG_WAIT_DESTROYS_COMMS 0
-#else
-#  define MSG_WAIT_DESTROYS_COMMS 1
-#endif
+#include <simgrid_config.h>
+
+#if !defined(SIMGRID_VERSION) || SIMGRID_VERSION < 30700UL // == SG < 3.7 == //
+#  error "Unsupported SimGrid version.  Need version >= 3.7"
+#endif // ================================================================== //
+
+#if SIMGRID_VERSION < 30800UL // ============================== SG < 3.8 === //
+#  define MSG_init(argc, argv) MSG_global_init(argc, argv)
+#  define msg_error_t   MSG_error_t
+#  define msg_host_t    m_host_t
+#  define msg_process_t m_process_t
+#  define msg_task_t    m_task_t
+#else // =================================================================== //
+#  define MSG_clean()   MSG_OK
+#endif // ================================================================== //
 
 #endif // !SIMGRID_FEATURES_H
 
 #endif // !SIMGRID_FEATURES_H
+
+// Local variables:
+// mode: c++
+// End: