]> git.proxmox.com Git - rustc.git/blobdiff - src/compiler-rt/lib/tsan/tests/rtl/tsan_test_util_linux.cc
Imported Upstream version 1.6.0+dfsg1
[rustc.git] / src / compiler-rt / lib / tsan / tests / rtl / tsan_test_util_linux.cc
index a2601486a2e1f27fb4841e2515cc80284460fc8d..9298bf051af2cbc67b62187b53201cf8dcdc5cd1 100644 (file)
@@ -10,7 +10,7 @@
 //
 // This file is a part of ThreadSanitizer (TSan), a race detector.
 //
-// Test utils, linux implementation.
+// Test utils, Linux and FreeBSD implementation.
 //===----------------------------------------------------------------------===//
 
 #include "sanitizer_common/sanitizer_atomic.h"
@@ -263,9 +263,14 @@ void ScopedThread::Impl::HandleEvent(Event *ev) {
       }
     }
     CHECK_NE(tsan_mop, 0);
-    errno = ECHRNG;
+#if defined(__FreeBSD__)
+    const int ErrCode = ESOCKTNOSUPPORT;
+#else
+    const int ErrCode = ECHRNG;
+#endif
+    errno = ErrCode;
     tsan_mop(ev->ptr);
-    CHECK_EQ(errno, ECHRNG);  // In no case must errno be changed.
+    CHECK_EQ(ErrCode, errno);  // In no case must errno be changed.
     break;
   }
   case Event::VPTR_UPDATE: