|
LLDB mainline
|
RAII guard that marks the current thread as a private state thread. More...
#include <Process.h>
Public Member Functions | |
| PrivateStateThreadGuard () | |
| ~PrivateStateThreadGuard () | |
| PrivateStateThreadGuard (const PrivateStateThreadGuard &)=delete | |
| PrivateStateThreadGuard & | operator= (const PrivateStateThreadGuard &)=delete |
Static Public Member Functions | |
| static bool | IsPrivateStateThread () |
Static Private Attributes | |
| static thread_local bool | g_is_private_state_thread = false |
RAII guard that marks the current thread as a private state thread.
When RunThreadPlan detects it is running on the private state thread, it spins up an override thread and reassigns m_current_private_state_thread_sp to it. The original PST continues processing events via DoOnRemoval callbacks, but CurrentThreadIsPrivateStateThread() no longer recognizes it. This guard sets a thread_local flag so that GetStackFrameList can identify the original PST and return parent frames instead of provider-augmented frames.
|
inline |
Definition at line 3674 of file Process.h.
References g_is_private_state_thread.
Referenced by operator=(), and PrivateStateThreadGuard().
|
inline |
Definition at line 3675 of file Process.h.
References g_is_private_state_thread.
|
delete |
References PrivateStateThreadGuard().
|
inlinestatic |
Definition at line 3676 of file Process.h.
References g_is_private_state_thread.
Referenced by lldb_private::Thread::GetStackFrameList().
|
delete |
References PrivateStateThreadGuard().
|
staticprivate |
Definition at line 3683 of file Process.h.
Referenced by IsPrivateStateThread(), PrivateStateThreadGuard(), and ~PrivateStateThreadGuard().