krytarowski 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));
----------------
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.


================
Comment at: source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp:447
+    for (const auto &thread_sp : m_threads) {
+      static_pointer_cast<NativeThreadNetBSD>(thread_sp)->SetStepping();
+    }
----------------
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).


Repository:
  rL LLVM

https://reviews.llvm.org/D31450



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to