summaryrefslogtreecommitdiff
path: root/.tsan-suppressions
diff options
context:
space:
mode:
authorLibravatar Martin Ågren <martin.agren@gmail.com>2017-08-21 19:43:48 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-08-23 10:38:56 -0700
commit6cdf8a7929688ea5702ab53f450d038e973e64e1 (patch)
tree6bc1c2972542be1c7ada97faefa345278b582c7e /.tsan-suppressions
parentstrbuf_setlen: don't write to strbuf_slopbuf (diff)
downloadtgif-6cdf8a7929688ea5702ab53f450d038e973e64e1.tar.xz
ThreadSanitizer: add suppressions
Add a file .tsan-suppressions and list two functions in it: want_color() and transfer_debug(). Both of these use the pattern static int foo = -1; if (foo < 0) foo = bar(); where bar always returns the same non-negative value. This can cause ThreadSanitizer to diagnose a race when foo is written from two threads. That is indeed a race, although it arguably doesn't matter in practice since it's always the same value that is written. Add NEEDSWORK-comments to the functions so that this problem is not forever swept way under the carpet. The suppressions-file is used by setting the environment variable TSAN_OPTIONS to, e.g., "suppressions=$(pwd)/.tsan-suppressions". Observe that relative paths such as ".tsan-suppressions" might not work. Signed-off-by: Martin Ågren <martin.agren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to '.tsan-suppressions')
-rw-r--r--.tsan-suppressions10
1 files changed, 10 insertions, 0 deletions
diff --git a/.tsan-suppressions b/.tsan-suppressions
new file mode 100644
index 0000000000..8c85014a0a
--- /dev/null
+++ b/.tsan-suppressions
@@ -0,0 +1,10 @@
+# Suppressions for ThreadSanitizer (tsan).
+#
+# This file is used by setting the environment variable TSAN_OPTIONS to, e.g.,
+# "suppressions=$(pwd)/.tsan-suppressions". Observe that relative paths such as
+# ".tsan-suppressions" might not work.
+
+# A static variable is written to racily, but we always write the same value, so
+# in practice it (hopefully!) doesn't matter.
+race:^want_color$
+race:^transfer_debug$