003 File Manager
Current Path:
/usr/src/contrib/llvm-project/compiler-rt/lib/lsan
usr
/
src
/
contrib
/
llvm-project
/
compiler-rt
/
lib
/
lsan
/
📁
..
📄
lsan.cpp
(3.22 KB)
📄
lsan.h
(1.8 KB)
📄
lsan_allocator.cpp
(10.62 KB)
📄
lsan_allocator.h
(4.36 KB)
📄
lsan_common.cpp
(32.24 KB)
📄
lsan_common.h
(9.36 KB)
📄
lsan_common_fuchsia.cpp
(6.16 KB)
📄
lsan_common_linux.cpp
(4.9 KB)
📄
lsan_common_mac.cpp
(6.91 KB)
📄
lsan_flags.inc
(2.08 KB)
📄
lsan_fuchsia.cpp
(4.32 KB)
📄
lsan_fuchsia.h
(1018 B)
📄
lsan_interceptors.cpp
(16.12 KB)
📄
lsan_linux.cpp
(1.08 KB)
📄
lsan_mac.cpp
(6.77 KB)
📄
lsan_malloc_mac.cpp
(2.16 KB)
📄
lsan_posix.cpp
(3.02 KB)
📄
lsan_posix.h
(1.29 KB)
📄
lsan_preinit.cpp
(833 B)
📄
lsan_thread.cpp
(3.21 KB)
📄
lsan_thread.h
(1.74 KB)
📄
weak_symbols.txt
(75 B)
Editing: lsan_thread.h
//=-- lsan_thread.h -------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file is a part of LeakSanitizer. // Thread registry for standalone LSan. // //===----------------------------------------------------------------------===// #ifndef LSAN_THREAD_H #define LSAN_THREAD_H #include "sanitizer_common/sanitizer_thread_registry.h" namespace __lsan { class ThreadContextLsanBase : public ThreadContextBase { public: explicit ThreadContextLsanBase(int tid); void OnFinished() override; uptr stack_begin() { return stack_begin_; } uptr stack_end() { return stack_end_; } uptr cache_begin() { return cache_begin_; } uptr cache_end() { return cache_end_; } // The argument is passed on to the subclass's OnStarted member function. static void ThreadStart(u32 tid, tid_t os_id, ThreadType thread_type, void *onstarted_arg); protected: uptr stack_begin_ = 0; uptr stack_end_ = 0; uptr cache_begin_ = 0; uptr cache_end_ = 0; }; // This subclass of ThreadContextLsanBase is declared in an OS-specific header. class ThreadContext; void InitializeThreadRegistry(); void InitializeMainThread(); u32 ThreadCreate(u32 tid, uptr uid, bool detached, void *arg = nullptr); void ThreadFinish(); void ThreadJoin(u32 tid); u32 ThreadTid(uptr uid); u32 GetCurrentThread(); void SetCurrentThread(u32 tid); ThreadContext *CurrentThreadContext(); void EnsureMainThreadIDIsCorrect(); } // namespace __lsan #endif // LSAN_THREAD_H
Upload File
Create Folder