Remove handling of eStateStopped from NativeProcessLinux::Resume
Summary:
NPL::Resume attempted to handle eStateStopped as a resume action. However:
- GDBRemoteCommunicationServerLLGS (the only user of NPL) never sets this action
- it could set this action in response to a vCont:t packet, but LLDB never produces this packet
- gdb-remote protocol documentation says vCont:t packet is used only in non-stop mode, but LLDB
does not support non-stop mode
- even if LLDB supported non-stop mode, this implementation of eStateStopped does something
different from what the spec says it should (according to spec, it should stop the specified
thread, but this seems to want to stop all threads).
Given the facts above, I believe we should remove this unused and untested code, as it probably
doesn't even work and removing it makes the rest of the code noticably simpler.
Reviewers: ovyalov, chaoren
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D9657
llvm-svn: 237103
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
index 35698ca..62ff061 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
@@ -362,50 +362,22 @@
void
StopRunningThreads(lldb::tid_t triggering_tid);
- // Notify the delegate after all non-stopped threads stop. The triggering_tid will be set
- // as the current thread. The error_function will be fired if either the triggering tid
- // or any of the wait_for_stop_tids are unknown. This variant will send stop requests to
- // all non-stopped threads except skip_stop_request_tid.
- void
- StopRunningThreadsWithSkipTID(lldb::tid_t triggering_tid, lldb::tid_t skip_stop_request_tid);
-
- private:
struct PendingNotification
{
- PendingNotification (lldb::tid_t triggering_tid,
- const ThreadIDSet &wait_for_stop_tids,
- const ThreadIDSet &skip_stop_request_tids):
- triggering_tid (triggering_tid),
- wait_for_stop_tids (wait_for_stop_tids),
- original_wait_for_stop_tids (wait_for_stop_tids),
- request_stop_on_all_unstopped_threads (false),
- skip_stop_request_tids (skip_stop_request_tids)
- {
- }
-
PendingNotification (lldb::tid_t triggering_tid):
triggering_tid (triggering_tid),
- wait_for_stop_tids (),
- original_wait_for_stop_tids (),
- request_stop_on_all_unstopped_threads (true),
- skip_stop_request_tids ()
+ wait_for_stop_tids ()
{
}
const lldb::tid_t triggering_tid;
ThreadIDSet wait_for_stop_tids;
- const ThreadIDSet original_wait_for_stop_tids;
- const bool request_stop_on_all_unstopped_threads;
- ThreadIDSet skip_stop_request_tids;
};
typedef std::unique_ptr<PendingNotification> PendingNotificationUP;
// Fire pending notification if no pending thread stops remain.
void SignalIfRequirementsSatisfied();
- bool
- RequestStopOnAllSpecifiedThreads();
-
void
RequestStopOnAllRunningThreads();