Home | History | Annotate | Download | only in asan

Lines Matching defs:thread

12 // Thread-related code.
31 AsanThread *thread;
39 thread = args->thread;
40 thread->set_context(this);
45 thread = nullptr;
63 // a single thread.
68 // thread before all TSD destructors will be called for it.
88 AsanThread *thread = (AsanThread*)MmapOrDie(size, __func__);
89 thread->start_routine_ = start_routine;
90 thread->arg_ = arg;
91 CreateThreadContextArgs args = { thread, stack };
92 asanThreadRegistry().CreateThread(*reinterpret_cast<uptr *>(thread), detached,
95 return thread;
101 if (context->thread)
102 context->thread->Destroy();
113 // We also clear the shadow on thread destruction because
243 // start_routine_ == 0 if we're on the main thread or on one of the
253 // the thread's memory as non-live from the moment we call Destroy(), even
329 AsanThread *t = tctx->thread;
343 // TSD. Try to figure out if this is still the main thread by the stack
344 // address. We are not entirely sure that we have correct main thread
345 // limits, so only do this magic on Android, and only if the found thread
346 // is the main thread.
349 SetCurrentThread(tctx->thread);
350 return tctx->thread;
355 return context->thread;
360 VReport(2, "SetCurrentThread: %p for thread %p\n", t->context(),
378 return tctx ? tctx->thread : nullptr;
392 return context->thread;
443 VReport(1, "__asan_start_switch_fiber called from unknown thread\n");
453 VReport(1, "__asan_finish_switch_fiber called from unknown thread\n");