diff options
Diffstat (limited to 'gdb/python')
-rw-r--r-- | gdb/python/lib/gdb/dap/server.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/python/lib/gdb/dap/server.py b/gdb/python/lib/gdb/dap/server.py index ceffefc..0919045 100644 --- a/gdb/python/lib/gdb/dap/server.py +++ b/gdb/python/lib/gdb/dap/server.py @@ -281,6 +281,12 @@ class Server: return self.send_event(event, body) + @in_dap_thread + def call_function_later(self, fn): + """Call FN later -- after the current request's response has been sent.""" + with self.delayed_fns_lock: + self.delayed_fns.append(fn) + # Note that this does not need to be run in any particular thread, # because it just creates an object and writes it to a thread-safe # queue. @@ -321,6 +327,12 @@ def send_event_maybe_later(event, body=None): _server.send_event_maybe_later(event, body) +def call_function_later(fn): + """Call FN later -- after the current request's response has been sent.""" + global _server + _server.call_function_later(fn) + + # A helper decorator that checks whether the inferior is running. def _check_not_running(func): @functools.wraps(func) |