Re: [PATCH] D21816: [tsan] Stop extending the block’s lifetime in dispatch_group_async

Dmitry Vyukov via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 29 01:21:54 PDT 2016


dvyukov added inline comments.

================
Comment at: lib/tsan/rtl/tsan_libdispatch_mac.cc:289
@@ -288,1 +288,3 @@
+    block_copy();
+    _Block_release(block_copy);
     WRAP(dispatch_group_leave)(group);
----------------
What does keep the block alive currently? When is it destroyed without this change?

================
Comment at: test/tsan/Darwin/gcd-groups-destructor.mm:43
@@ +42,2 @@
+// CHECK: Done.
+// CHECK-NOT: WARNING: ThreadSanitizer
----------------
AFAIK, filecheck checks line-by-line, so this ensures that there are no WARNINGS _after_ "Done." is printed. I think you need to move CHECK_NOT before Done CHECK.


http://reviews.llvm.org/D21816





More information about the llvm-commits mailing list