Skip to content

Commit ac7b789

Browse files
committed
Addressing feedback and reseting debugger interrupt requested sooner.
1 parent f45bba5 commit ac7b789

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

lldb/tools/lldb-dap/DAP.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,9 @@ void DAP::Send(const Message &message) {
249249
// RequestHandler<> this should be handled in RequestHandler<>::operator().
250250
if (auto *resp = std::get_if<Response>(&message);
251251
resp && debugger.InterruptRequested()) {
252+
// Clear the interrupt request.
253+
debugger.CancelInterruptRequest();
254+
252255
// If the debugger was interrupted, convert this response into a 'cancelled'
253256
// response because we might have a partial result.
254257
Response cancelled{/*request_seq=*/resp->request_seq,
@@ -699,7 +702,7 @@ bool DAP::HandleObject(const Message &M) {
699702
std::lock_guard<std::mutex> lock(m_active_request_mutex);
700703
m_active_request = req;
701704

702-
// Clear interrupt marker prior to handling the next request.
705+
// Clear the interrupt request prior to invoking a handler.
703706
if (debugger.InterruptRequested())
704707
debugger.CancelInterruptRequest();
705708
}
@@ -814,7 +817,7 @@ llvm::Error DAP::Disconnect(bool terminateDebuggee) {
814817

815818
bool DAP::IsCancelled(const protocol::Request &req) {
816819
std::lock_guard<std::mutex> lock(m_cancelled_requests_mutex);
817-
return m_cancelled_requests.find(req.seq) != m_cancelled_requests.end();
820+
return m_cancelled_requests.contains(req.seq);
818821
}
819822

820823
void DAP::ClearCancelRequest(const CancelArguments &args) {

lldb/tools/lldb-dap/DAP.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#include "lldb/lldb-types.h"
3535
#include "llvm/ADT/DenseMap.h"
3636
#include "llvm/ADT/DenseSet.h"
37+
#include "llvm/ADT/SmallSet.h"
3738
#include "llvm/ADT/StringMap.h"
3839
#include "llvm/ADT/StringRef.h"
3940
#include "llvm/Support/Error.h"
@@ -415,7 +416,7 @@ struct DAP {
415416
std::condition_variable m_queue_cv;
416417

417418
std::mutex m_cancelled_requests_mutex;
418-
std::set<int64_t> m_cancelled_requests;
419+
llvm::SmallSet<int64_t, 4> m_cancelled_requests;
419420

420421
std::mutex m_active_request_mutex;
421422
const protocol::Request *m_active_request;

lldb/tools/lldb-dap/Transport.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class EndOfFileError : public llvm::ErrorInfo<EndOfFileError> {
3131
EndOfFileError() = default;
3232

3333
void log(llvm::raw_ostream &OS) const override {
34-
OS << "End of file reached.";
34+
OS << "end of file reached";
3535
}
3636
std::error_code convertToErrorCode() const override {
3737
return llvm::inconvertibleErrorCode();
@@ -45,7 +45,7 @@ class TimeoutError : public llvm::ErrorInfo<TimeoutError> {
4545
TimeoutError() = default;
4646

4747
void log(llvm::raw_ostream &OS) const override {
48-
OS << "Operation timed out.";
48+
OS << "operation timed out";
4949
}
5050
std::error_code convertToErrorCode() const override {
5151
return std::make_error_code(std::errc::timed_out);

0 commit comments

Comments
 (0)