Skip to content
  • Martin Ågren's avatar
    ThreadSanitizer: add suppressions · 6cdf8a79
    Martin Ågren authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    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: default avatarMartin Ågren <martin.agren@gmail.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    6cdf8a79