Branch: refs/heads/fix_async_mpi
  Home:   https://github.com/STEllAR-GROUP/hpx
  Commit: 6caf106f7d733383703391c7a7dfdf4183229975
      
https://github.com/STEllAR-GROUP/hpx/commit/6caf106f7d733383703391c7a7dfdf4183229975
  Author: John Biddiscombe <[email protected]>
  Date:   2021-05-03 (Mon, 03 May 2021)

  Changed paths:
    M libs/full/async_mpi/include/hpx/async_mpi/mpi_executor.hpp
    M libs/full/async_mpi/include/hpx/async_mpi/mpi_future.hpp
    M libs/full/async_mpi/src/mpi_future.cpp

  Log Message:
  -----------
  Fix a race condition in async mpi affecting limiting executor

The mpi_ring_async_executor_test occasionally failed because
the limiting executor was calling find_if on a vector that
was modified by the mpi polling thread.

Instead of allowing external checks (limiting executor) to
access the vector, we use an atomic counter that only the mpi
polling thread increments/decrements and stores the number
of futures/requests in flight. The limiting executor can safely
read this value from any thread.


_______________________________________________
hpx-commits mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-commits

Reply via email to