diff options
author | Vitaly Buka <vitalybuka@google.com> | 2024-03-22 14:30:33 -0700 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2024-03-22 14:30:33 -0700 |
commit | a01b823a1db9ae4ea6b10a6fb8978d916bcf13f9 (patch) | |
tree | bc84419f67bc915a98fa8b276af5cf2e1820007f | |
parent | 29bf32efbb646b2ab3dec25f100419fc75635878 (diff) |
[𝘀𝗽𝗿] changes to main this commit is based onupstream/users/vitalybuka/spr/main.tsan-process-sigprof-as-sync-sygnal-only-if-theread-is-alive
Created using spr 1.3.4
[skip ci]
-rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp b/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp index 77488f843285..5316a7862e44 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp +++ b/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp @@ -160,6 +160,10 @@ void ThreadStart(ThreadState *thr, Tid tid, tid_t os_id, } Free(thr->tctx->sync); +#if !SANITIZER_GO + thr->is_inited = true; +#endif + uptr stk_addr = 0; uptr stk_size = 0; uptr tls_addr = 0; @@ -200,15 +204,11 @@ void ThreadStart(ThreadState *thr, Tid tid, tid_t os_id, } void ThreadContext::OnStarted(void *arg) { - thr = static_cast<ThreadState *>(arg); DPrintf("#%d: ThreadStart\n", tid); - new (thr) ThreadState(tid); + thr = new (arg) ThreadState(tid); if (common_flags()->detect_deadlocks) thr->dd_lt = ctx->dd->CreateLogicalThread(tid); thr->tctx = this; -#if !SANITIZER_GO - thr->is_inited = true; -#endif } void ThreadFinish(ThreadState *thr) { |