[3/7] Add call_function_later to DAP
Checks
Commit Message
This adds a new call_function_later API to DAP. This arranges to run
a function after the current request has completed. This isn't used
yet, but will be at the end of this series.
---
gdb/python/lib/gdb/dap/server.py | 12 ++++++++++++
1 file changed, 12 insertions(+)
@@ -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)