X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b7d7072994877985a12c99591ad5c34dac347a8f..e7d63af354e1227ed78d115a6432d5c588693a72:/src/xbt/parmap.c diff --git a/src/xbt/parmap.c b/src/xbt/parmap.c index 8219493515..6e0a7286ac 100644 --- a/src/xbt/parmap.c +++ b/src/xbt/parmap.c @@ -3,7 +3,7 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include "gras_config.h" +#include "internal_config.h" #include #ifndef _XBT_WIN32 @@ -416,8 +416,10 @@ static void xbt_parmap_futex_worker_wait(xbt_parmap_t parmap, unsigned round) { unsigned work = parmap->work; /* wait for more work */ - if (work != round) + while (work != round) { futex_wait(&parmap->work, work); + work = parmap->work; + } } #endif @@ -482,7 +484,7 @@ static void xbt_parmap_busy_worker_wait(xbt_parmap_t parmap, unsigned round) #include "xbt/ex.h" #include "xbt/xbt_os_thread.h" #include "xbt/xbt_os_time.h" -#include "gras_config.h" /* HAVE_FUTEX_H */ +#include "internal_config.h" /* HAVE_FUTEX_H */ XBT_TEST_SUITE("parmap", "Parallel Map"); XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(xbt_parmap_unit);