labath added a comment.

In D128893#3621673 <https://reviews.llvm.org/D128893#3621673>, @mgorny wrote:

> FYI, I don't feel very strongly about this. If you really dislike adding 
> `m_inhibit_stop_reason_processes`, I suppose we could alternatively just 
> declare disabling non-stop as unsupported and error out.

The problem is I "really disliked" the vKill part as well. I didn't want to 
make a big deal out of it, as I though it was an isolated use case, but now it 
seems like this may be a regular occurrence.

I think things would look better if we at least grouped all of the various bits 
of information about a single process. So, instead of three maps, we would have 
a single map, whose values would contain the process pointer, and any other 
state data we need. That could be a flag (whether the process is being killed), 
or maybe a callback (specifying the action to perform when the process stops). 
WDYT?



================
Comment at: 
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:1913-1915
+  auto process_it = m_inhibit_stop_reason_processes.find(process.GetID());
+  if (process_it != m_inhibit_stop_reason_processes.end()) {
+    m_inhibit_stop_reason_processes.erase(process_it);
----------------
`if (m_inhibit_stop_reason_processes.erase(process.GetID()) != 0)`


================
Comment at: 
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:3941
     return SendErrorResponse(Status("Invalid QNonStop packet"));
   return SendOKResponse();
 }
----------------
Should we maybe send this *after* the stop dance is completed?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D128893/new/

https://reviews.llvm.org/D128893

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

Reply via email to