[compiler-rt] r203226 - tsan: fix pthread_cond_destroy interceptor on android

Dmitry Vyukov dvyukov at google.com
Fri Mar 7 02:01:16 PST 2014


Author: dvyukov
Date: Fri Mar  7 04:01:16 2014
New Revision: 203226

URL: http://llvm.org/viewvc/llvm-project?rev=203226&view=rev
Log:
tsan: fix pthread_cond_destroy interceptor on android


Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc?rev=203226&r1=203225&r2=203226&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc Fri Mar  7 04:01:16 2014
@@ -2535,9 +2535,11 @@ INTERCEPTOR(int, pthread_cond_destroy, v
   COMMON_INTERCEPTOR_ENTER(ctx, pthread_cond_destroy, cond);
   COMMON_INTERCEPTOR_WRITE_RANGE(ctx, c, sizeof(uptr));
   int res = REAL(pthread_cond_destroy)(cond);
-  // Free our aux cond and zero the pointer to not leave dangling pointers.
-  WRAP(free)(cond);
-  atomic_store((atomic_uintptr_t*)c, 0, memory_order_relaxed);
+  if (SI_LINUX_NOT_ANDROID) {
+    // Free our aux cond and zero the pointer to not leave dangling pointers.
+    WRAP(free)(cond);
+    atomic_store((atomic_uintptr_t*)c, 0, memory_order_relaxed);
+  }
   return res;
 }
 





More information about the llvm-commits mailing list