[Lldb-commits] [PATCH] D31450: Battery of NetBSD support improvements

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Mar 29 13:04:31 PDT 2017


labath added inline comments.


================
Comment at: source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp:249
+      // Initialize new thread
+      struct ptrace_lwpinfo info = {};
+      Error error = PtraceWrapper(PT_LWPINFO, pid, &info, sizeof(info));
----------------
krytarowski wrote:
> labath wrote:
> > This is the third place i'm seeing this code. Any chance of turning it into a function?
> Everything that touches threads will be refactored in future.
> 
> I suspect that at the end this code will lost its capability to iterate threads after exec() as all of them are terminated.
> 
> Here is a code that handles it in an expanded way and fore 1 thread only.
That's fine, but if they're identical right now, you could still merge them together, right? (A lot of the temporary things have a tendency to become permanent).


================
Comment at: source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp:447
+    for (const auto &thread_sp : m_threads) {
+      static_pointer_cast<NativeThreadNetBSD>(thread_sp)->SetStepping();
+    }
----------------
krytarowski wrote:
> labath wrote:
> > I guess you should be playing with the pt_suspend/resume here to step only the requested thread(s). Is that something you plan to do as a follow up?
> I'm planning to reuse PT_RESUME/PT_SUSPEND to select thread/s for execution.
> 
> And reuse PT_SETSTEP/PT_CLEARSTEP to mark them optionally for single-step mode.
> 
> And at the end use global PT_CONTINUE as it has option to emit a signal (PT_STEP cannot send a signal).
Ok, as long as you're aware of that, I'm fine.


Repository:
  rL LLVM

https://reviews.llvm.org/D31450





More information about the lldb-commits mailing list