//===-- LinuxThread.cpp -----------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // C Includes // C++ Includes // Other libraries and framework includes // Project includes #include "LinuxThread.h" using namespace lldb; using namespace lldb_private; //------------------------------------------------------------------------------ // Constructors and destructors. LinuxThread::LinuxThread(Process &process, lldb::tid_t tid) : POSIXThread(process, tid) { } LinuxThread::~LinuxThread() { } //------------------------------------------------------------------------------ // ProcessInterface protocol. void LinuxThread::RefreshStateAfterStop() { // Invalidate the thread names every time we get a stop event on Linux so we // will re-read the procfs comm virtual file when folks ask for the thread name. m_thread_name_valid = false; POSIXThread::RefreshStateAfterStop(); } void LinuxThread::TraceNotify(const ProcessMessage &message) { RegisterContextPOSIX* reg_ctx = GetRegisterContextPOSIX(); if (reg_ctx) { uint32_t num_hw_wps = reg_ctx->NumSupportedHardwareWatchpoints(); uint32_t wp_idx; for (wp_idx = 0; wp_idx < num_hw_wps; wp_idx++) { if (reg_ctx->IsWatchpointHit(wp_idx)) { WatchNotify(message); return; } } } POSIXThread::TraceNotify (message); }