Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[s4u] Fix atomic_flag initialization
authorGabriel Corona <gabriel.corona@loria.fr>
Fri, 17 Jun 2016 09:21:42 +0000 (11:21 +0200)
committerGabriel Corona <gabriel.corona@loria.fr>
Fri, 17 Jun 2016 09:47:40 +0000 (11:47 +0200)
include/simgrid/s4u/actor.hpp

index 89a752e..53bb726 100644 (file)
@@ -132,7 +132,9 @@ private:
     Task(F&& code, Args&&... args) :
       code_(std::forward<F>(code)),
       args_(std::forward<Args>(args)...)
-    {}
+    {
+      done_.clear();
+    }
     void operator()()
     {
       if (done_.test_and_set())
@@ -140,7 +142,7 @@ private:
       simgrid::xbt::apply(std::move(code_), std::move(args_));
     }
   private:
-    std::atomic_flag done_ = ATOMIC_FLAG_INIT;
+    std::atomic_flag done_;
     F code_;
     std::tuple<Args...> args_;
   };