mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-22 14:44:34 +00:00
6f9dfc8469
DecodeCallstackPtrFast() may be called outside the symbol processing thread, for example in the crash handler. Using the less-capable dladdr functionality doesn't have a big impact here. Callstack decoding in this context is used to remove the uninteresting top part of the callstack, so that the callstack ends at the crashing function, and not in the crash handler. Even if this functionality would be impacted by this change, the damage done is close to none. The other alternative is to use locking each time a libbacktrace is to be used, which does not seem to be worthy to do, considering that the problem only occurs in a very rare code path. NB everything was working when it was first implemented, because back then the callstack decoding was still performed on the main thread, and not on a separate, dedicated one. |
||
---|---|---|
.. | ||
tracy_concurrentqueue.h | ||
tracy_rpmalloc.cpp | ||
tracy_rpmalloc.hpp | ||
tracy_SPSCQueue.h | ||
TracyAlloc.cpp | ||
TracyArmCpuTable.hpp | ||
TracyCallstack.cpp | ||
TracyCallstack.h | ||
TracyCallstack.hpp | ||
TracyCpuid.hpp | ||
TracyDebug.hpp | ||
TracyDxt1.cpp | ||
TracyDxt1.hpp | ||
TracyFastVector.hpp | ||
TracyLock.hpp | ||
TracyProfiler.cpp | ||
TracyProfiler.hpp | ||
TracyRingBuffer.hpp | ||
TracyScoped.hpp | ||
TracyStringHelpers.hpp | ||
TracySysTime.cpp | ||
TracySysTime.hpp | ||
TracySysTrace.cpp | ||
TracySysTrace.hpp | ||
TracyThread.hpp |