Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Change cluster sharing policy for FULLDUPLEX by default.
[simgrid.git] / src / xbt / parmap.c
index f7fb43c..c0ffc9f 100644 (file)
@@ -120,6 +120,14 @@ void xbt_parmap_destroy(xbt_parmap_t parmap)
  */
 static void xbt_parmap_set_mode(xbt_parmap_t parmap, e_xbt_parmap_mode_t mode)
 {
+  if (mode == XBT_PARMAP_DEFAULT) {
+#ifdef HAVE_FUTEX_H
+    mode = XBT_PARMAP_FUTEX;
+#else
+    //For now use busy wait because posix is unimplemented
+    mode = XBT_PARMAP_BUSY_WAIT;
+#endif
+  }
   parmap->mode = mode;
 
   switch (mode) {
@@ -149,6 +157,10 @@ static void xbt_parmap_set_mode(xbt_parmap_t parmap, e_xbt_parmap_mode_t mode)
       parmap->signal_f = xbt_parmap_busy_signal;
       parmap->wait_f = xbt_parmap_busy_wait;
       break;
+
+    case XBT_PARMAP_DEFAULT:
+      THROW_IMPOSSIBLE;
+      break;
   }
 }