[compiler-rt] a5b06ad - Partially revert "[NFC][msan] Split ThreadStart and Init"

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 8 19:17:07 PST 2021


Author: Vitaly Buka
Date: 2021-11-08T19:16:55-08:00
New Revision: a5b06ad39a9babfeababc537b85bfdbcf127290d

URL: https://github.com/llvm/llvm-project/commit/a5b06ad39a9babfeababc537b85bfdbcf127290d
DIFF: https://github.com/llvm/llvm-project/commit/a5b06ad39a9babfeababc537b85bfdbcf127290d.diff

LOG: Partially revert "[NFC][msan] Split ThreadStart and Init"

I don't know if removing "if (!start_routine_)" from ThreadStart
is NFC.

This reverts commit b3267bb3afd3c70a415ae81c855462affae92f6b.

Added: 
    

Modified: 
    compiler-rt/lib/msan/msan_thread.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/msan/msan_thread.cpp b/compiler-rt/lib/msan/msan_thread.cpp
index 3bd34e2c1151..40ad6a5019c4 100644
--- a/compiler-rt/lib/msan/msan_thread.cpp
+++ b/compiler-rt/lib/msan/msan_thread.cpp
@@ -65,7 +65,18 @@ void MsanThread::Destroy() {
   DTLS_Destroy();
 }
 
-thread_return_t MsanThread::ThreadStart() { return start_routine_(arg_); }
+thread_return_t MsanThread::ThreadStart() {
+  if (!start_routine_) {
+    // start_routine_ == 0 if we're on the main thread or on one of the
+    // OS X libdispatch worker threads. But nobody is supposed to call
+    // ThreadStart() for the worker threads.
+    return 0;
+  }
+
+  thread_return_t res = start_routine_(arg_);
+
+  return res;
+}
 
 MsanThread::StackBounds MsanThread::GetStackBounds() const {
   if (!stack_switching_)


        


More information about the llvm-commits mailing list