[Lldb-commits] [PATCH] D128893: [lldb] [llgs] Fix disabling non-stop mode
Pavel Labath via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Jul 13 02:58:08 PDT 2022
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
More information about the lldb-commits
mailing list