Fix ASAN failure in FutureDAG test
[folly.git] / folly / experimental / FutureDAG.h
index bf14f33e9cb4770af69bf85adb8f2ef9816e992f..ee3dcffbf649f6f74d6953f50f9492640ca39a19 100644 (file)
@@ -134,10 +134,9 @@ class FutureDAG : public std::enable_shared_from_this<FutureDAG> {
     }
 
     nodes[sourceHandle].promise.setValue();
-    auto that = shared_from_this();
-    return nodes[sinkHandle].promise.getFuture().ensure([that] {}).then(
-        [this, sourceHandle, sinkHandle]() {
-          clean_state(sourceHandle, sinkHandle);
+    return nodes[sinkHandle].promise.getFuture().then(
+        [that = shared_from_this(), sourceHandle, sinkHandle]() {
+          that->clean_state(sourceHandle, sinkHandle);
         });
   }
 
@@ -225,4 +224,4 @@ class FutureDAGFunctor {
   virtual ~FutureDAGFunctor(){}
 };
 
-} // folly
+} // namespace folly