From 080530d8b6c3be802c53c0bb8a84032f355c2380 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 30 Nov 2023 13:53:23 -0700 Subject: Clean up handling of DAP not-stopped response MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch introduces a new NotStoppedException type and changes the DAP implementation of "not stopped" to use it. I was already touching some code in this area and I thought this looked a little cleaner. This also has the advantage that we can now choose not to log the exception -- previously I was sometimes a bit alarmed when seeing this in the logs, even though it is harmless. Reviewed-By: Kévin Le Gouguec --- gdb/python/lib/gdb/dap/server.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gdb/python') diff --git a/gdb/python/lib/gdb/dap/server.py b/gdb/python/lib/gdb/dap/server.py index ead911d..d865dee 100644 --- a/gdb/python/lib/gdb/dap/server.py +++ b/gdb/python/lib/gdb/dap/server.py @@ -42,6 +42,12 @@ _commands = {} _server = None +# A subclass of Exception that is used solely for reporting that a +# request needs the inferior to be stopped, but it is not stopped. +class NotStoppedException(Exception): + pass + + class Server: """The DAP server class.""" @@ -78,6 +84,9 @@ class Server: if body is not None: result["body"] = body result["success"] = True + except NotStoppedException: + result["success"] = False + result["message"] = "notStopped" except BaseException as e: log_stack() result["success"] = False @@ -169,7 +178,7 @@ def _check_not_running(func): from .events import inferior_running if inferior_running: - raise Exception("notStopped") + raise NotStoppedException() return func(*args, **kwargs) return check -- cgit v1.1