parmap->wait_f = xbt_parmap_posix_wait;
break;
+
case XBT_PARMAP_FUTEX:
+#ifdef HAVE_FUTEX_H
parmap->start_f = xbt_parmap_futex_start;
parmap->end_f = xbt_parmap_futex_end;
parmap->signal_f = xbt_parmap_futex_signal;
parmap->wait_f = xbt_parmap_futex_wait;
+#endif
+ xbt_die("Impossible to use futex on Mac");
break;
case XBT_PARMAP_BUSY_WAIT:
xbt_dynar_t data = xbt_dynar_new(sizeof(void *), NULL);
/* Create the parallel map */
+#ifdef HAVE_FUTEX_H
parmap = xbt_parmap_new(10, XBT_PARMAP_FUTEX);
-
+#else
+ parmap = xbt_parmap_new(10, XBT_PARMAP_BUSY_WAIT);
+#endif
for (j = 0; j < 100; j++) {
xbt_dynar_push_as(data, void *, (void *)j);
}