diff options
Diffstat (limited to 'source/Plugins/Process/Darwin/NativeThreadListDarwin.cpp')
| -rw-r--r-- | source/Plugins/Process/Darwin/NativeThreadListDarwin.cpp | 69 |
1 files changed, 38 insertions, 31 deletions
diff --git a/source/Plugins/Process/Darwin/NativeThreadListDarwin.cpp b/source/Plugins/Process/Darwin/NativeThreadListDarwin.cpp index 7d44adeec3753..4ff662e420972 100644 --- a/source/Plugins/Process/Darwin/NativeThreadListDarwin.cpp +++ b/source/Plugins/Process/Darwin/NativeThreadListDarwin.cpp @@ -308,8 +308,8 @@ uint32_t NativeThreadListDarwin::UpdateThreadList(NativeProcessDarwin &process, __FUNCTION__, process.GetID(), update, process.GetStopID()); if (process.GetStopID() == 0) { - // On our first stop, we'll record details like 32/64 bitness and - // select the proper architecture implementation. + // On our first stop, we'll record details like 32/64 bitness and select + // the proper architecture implementation. // int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, (int)process.GetID()}; @@ -358,9 +358,9 @@ uint32_t NativeThreadListDarwin::UpdateThreadList(NativeProcessDarwin &process, if (thread_list_count > 0) { collection currThreads; size_t idx; - // Iterator through the current thread list and see which threads - // we already have in our list (keep them), which ones we don't - // (add them), and which ones are not around anymore (remove them). + // Iterator through the current thread list and see which threads we + // already have in our list (keep them), which ones we don't (add them), + // and which ones are not around anymore (remove them). for (idx = 0; idx < thread_list_count; ++idx) { // Get the Mach thread port. const ::thread_t mach_port_num = thread_list[idx]; @@ -373,18 +373,18 @@ uint32_t NativeThreadListDarwin::UpdateThreadList(NativeProcessDarwin &process, // Retrieve the thread if it exists. auto thread_sp = GetThreadByID(unique_thread_id); if (thread_sp) { - // We are already tracking it. Keep the existing native - // thread instance. + // We are already tracking it. Keep the existing native thread + // instance. currThreads.push_back(thread_sp); } else { - // We don't have a native thread instance for this thread. - // Create it now. + // We don't have a native thread instance for this thread. Create it + // now. thread_sp.reset(new NativeThreadDarwin( &process, m_is_64_bit, unique_thread_id, mach_port_num)); - // Add the new thread regardless of its is user ready state. - // Make sure the thread is ready to be displayed and shown - // to users before we add this thread to our list... + // Add the new thread regardless of its is user ready state. Make + // sure the thread is ready to be displayed and shown to users before + // we add this thread to our list... if (thread_sp->IsUserReady()) { if (new_threads) new_threads->push_back(thread_sp); @@ -417,9 +417,9 @@ NativeThreadListDarwin::CurrentThread (MachThreadSP& thread_sp) PTHREAD_MUTEX_LOCKER (locker, m_threads_mutex); if (m_current_thread.get() == NULL) { - // Figure out which thread is going to be our current thread. - // This is currently done by finding the first thread in the list - // that has a valid exception. + // Figure out which thread is going to be our current thread. This is + // currently done by finding the first thread in the list that has a + // valid exception. const size_t num_threads = m_threads.size(); for (uint32_t idx = 0; idx < num_threads; ++idx) { @@ -455,8 +455,8 @@ void NativeThreadListDarwin::ProcessWillResume( NativeProcessDarwin &process, const ResumeActionList &thread_actions) { std::lock_guard<std::recursive_mutex> locker(m_threads_mutex); - // Update our thread list, because sometimes libdispatch or the kernel - // will spawn threads while a task is suspended. + // Update our thread list, because sometimes libdispatch or the kernel will + // spawn threads while a task is suspended. NativeThreadListDarwin::collection new_threads; // TODO implement this. @@ -489,7 +489,8 @@ void NativeThreadListDarwin::ProcessWillResume( #if 0 DNBThreadResumeAction resume_new_threads = { -1U, eStateRunning, 0, INVALID_NUB_ADDRESS }; - // If we are planning to run only one thread, any new threads should be suspended. + // If we are planning to run only one thread, any new threads should be + // suspended. if (run_one_thread) resume_new_threads.state = eStateSuspended; @@ -549,11 +550,11 @@ uint32_t NativeThreadListDarwin::ProcessDidStop(NativeProcessDarwin &process) { } //---------------------------------------------------------------------- -// Check each thread in our thread list to see if we should notify our -// client of the current halt in execution. +// Check each thread in our thread list to see if we should notify our client +// of the current halt in execution. // -// Breakpoints can have callback functions associated with them than -// can return true to stop, or false to continue executing the inferior. +// Breakpoints can have callback functions associated with them than can return +// true to stop, or false to continue executing the inferior. // // RETURNS // true if we should stop and notify our clients @@ -607,8 +608,9 @@ NativeThreadListDarwin::DisableHardwareBreakpoint (const DNBBreakpoint* bp) cons return false; } -// DNBWatchpointSet() -> MachProcess::CreateWatchpoint() -> MachProcess::EnableWatchpoint() -// -> NativeThreadListDarwin::EnableHardwareWatchpoint(). +// DNBWatchpointSet() -> MachProcess::CreateWatchpoint() -> +// MachProcess::EnableWatchpoint() -> +// NativeThreadListDarwin::EnableHardwareWatchpoint(). uint32_t NativeThreadListDarwin::EnableHardwareWatchpoint (const DNBBreakpoint* wp) const { @@ -617,14 +619,16 @@ NativeThreadListDarwin::EnableHardwareWatchpoint (const DNBBreakpoint* wp) const { PTHREAD_MUTEX_LOCKER (locker, m_threads_mutex); const size_t num_threads = m_threads.size(); - // On Mac OS X we have to prime the control registers for new threads. We do this - // using the control register data for the first thread, for lack of a better way of choosing. + // On Mac OS X we have to prime the control registers for new threads. + // We do this using the control register data for the first thread, for + // lack of a better way of choosing. bool also_set_on_task = true; for (uint32_t idx = 0; idx < num_threads; ++idx) { if ((hw_index = m_threads[idx]->EnableHardwareWatchpoint(wp, also_set_on_task)) == INVALID_NUB_HW_INDEX) { - // We know that idx failed for some reason. Let's rollback the transaction for [0, idx). + // We know that idx failed for some reason. Let's rollback the + // transaction for [0, idx). for (uint32_t i = 0; i < idx; ++i) m_threads[i]->RollbackTransForHWP(); return INVALID_NUB_HW_INDEX; @@ -647,14 +651,16 @@ NativeThreadListDarwin::DisableHardwareWatchpoint (const DNBBreakpoint* wp) cons PTHREAD_MUTEX_LOCKER (locker, m_threads_mutex); const size_t num_threads = m_threads.size(); - // On Mac OS X we have to prime the control registers for new threads. We do this - // using the control register data for the first thread, for lack of a better way of choosing. + // On Mac OS X we have to prime the control registers for new threads. + // We do this using the control register data for the first thread, for + // lack of a better way of choosing. bool also_set_on_task = true; for (uint32_t idx = 0; idx < num_threads; ++idx) { if (!m_threads[idx]->DisableHardwareWatchpoint(wp, also_set_on_task)) { - // We know that idx failed for some reason. Let's rollback the transaction for [0, idx). + // We know that idx failed for some reason. Let's rollback the + // transaction for [0, idx). for (uint32_t i = 0; i < idx; ++i) m_threads[i]->RollbackTransForHWP(); return false; @@ -675,7 +681,8 @@ NativeThreadListDarwin::NumSupportedHardwareWatchpoints () const { PTHREAD_MUTEX_LOCKER (locker, m_threads_mutex); const size_t num_threads = m_threads.size(); - // Use an arbitrary thread to retrieve the number of supported hardware watchpoints. + // Use an arbitrary thread to retrieve the number of supported hardware + // watchpoints. if (num_threads) return m_threads[0]->NumSupportedHardwareWatchpoints(); return 0; |
