From a5b06ad39a9babfeababc537b85bfdbcf127290d Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Mon, 8 Nov 2021 19:12:56 -0800 Subject: [PATCH] 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. --- compiler-rt/lib/msan/msan_thread.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/compiler-rt/lib/msan/msan_thread.cpp b/compiler-rt/lib/msan/msan_thread.cpp index 3bd34e2..40ad6a5 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_) -- 2.7.4